我试图在Linux上使用文件密封。下面是一个例子C程序。
#define _GNU_SOURCE
#include <unistd.h>
#include <fcntl.h>
int main(void) {
(void)F_SEAL_SEAL;
}您可以使用gcc -Wall -o ./linux_file_sealing linux_file_sealing.c或类似的方法构建它。
当我构建它时,我会得到一个关于F_SEAL_SEAL的错误。
gcc -Wall -o ./linux_file_sealing linux_file_sealing.c
linux_file_sealing.c: In function ‘main’:
linux_file_sealing.c:7:19: error: ‘F_SEAL_SEAL’ undeclared (first use in this function)
printf("%d\n",F_SEAL_SEAL);
^
linux_file_sealing.c:7:19: note: each undeclared identifier is reported only once for each function it appears in我包括unistd.h和fcntl.h,根据手册页.那么,我还应该做什么,这是怎么描述的?
(手册页只是说密封是“Linux特定的”,但没有给出更多的细节。这是包含GNU_SOURCE定义的原因,这就是您如何获得其他Linux特定内容的原因,但对于F_SEAL_SEAL来说,这似乎没有什么区别。)
(Ubuntu 16.04 LTS,Linux 4.4.0-36)
发布于 2016-09-06 16:17:35
你想要的
#include <linux/fcntl.h>而不是
#include <fcntl.h>https://stackoverflow.com/questions/39353442
复制相似问题