gpt4 book ai didi

c - F_SEAL_SEAL 未声明,即使包含 header

转载 作者:太空狗 更新时间:2023-10-29 12:12:11 25 4
gpt4 key购买 nike

我正在尝试在 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.hfcntl.h...所以我还应该做什么,在哪里描述的?

(手册页只是说密封是“特定于 Linux 的”,但没有提供更多详细信息。这就是包含 GNU_SOURCE 定义的原因,这就是您如何获得其他 Linux-特定的东西,但对于 F_SEAL_SEAL 似乎没有什么区别。)

(Ubuntu 16.04 LTS,Linux 4.4.0-36)

最佳答案

你想要

#include <linux/fcntl.h>

代替

#include <fcntl.h>

关于c - F_SEAL_SEAL 未声明,即使包含 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39353442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com