C++ `memfd_create` 与 `sealing`:安全创建匿名文件描述符

哈喽,各位好!今天咱们来聊聊 C++ 里一个有点酷,但又经常被忽略的家伙:memfd_create 加上 sealing。它们俩联手,能让你在内存里创建一个“只读”文件,而且超级安全,进程之间共享数据的时候特别有用。 一、memfd_create:在内存里“变”出文件 首先,想象一下,你需要在两个进程之间共享一些数据。最简单的办法就是写到文件里,对吧?但是,读写磁盘毕竟慢,而且还有安全风险(比如,其他进程偷偷篡改你的文件)。 memfd_create 就解决了这个问题。它就像一个魔法师,能在内存里给你“变”出一个文件,根本不用真的写到磁盘上。 #include <iostream> #include <sys/mman.h> #include <unistd.h> #include <string.h> #include <sys/syscall.h> // For syscall() // 辅助函数,检测系统调用是否可用 bool isMemfdCreateSupported() { return syscall(SYS_m …