gpt4 book ai didi

c - "unix"是 C 中的受限关键字吗?

转载 作者:太空狗 更新时间:2023-10-29 16:23:37 26 4
gpt4 key购买 nike

此代码无法在 GCC 版本 4.3.2 (Debian 4.3.2-1.1) 上为我编译

main() {
int unix;
}

我检查了 C 关键字列表,“unix”不在其中之一。

为什么会出现以下错误?

unix.c:2: error: expected identifier or ‘(’ before numeric constant

最佳答案

unix 不是标准保留的标识符。

如果您使用 -std=c89-std=c99 进行编译,gcc 编译器将按照您的预期接受该程序。

来自 gcc 手册(https://gcc.gnu.org/onlinedocs/cpp/System-specific-Predefined-Macros.html),重点是我的。

... However, historically system-specific macros have had names with no special prefix; for instance, it is common to find unix defined on Unix systems. For all such macros, GCC provides a parallel macro with two underscores added at the beginning and the end. If unix is defined, __unix__ will be defined too. There will never be more than two underscores; the parallel of _mips is __mips__.

关于c - "unix"是 C 中的受限关键字吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3770322/

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