gpt4 book ai didi

C: #define 指令是全局的吗?

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

#define 语句让我有些困惑。在库中,它们似乎是一种跨不同文件的通信方式,有很多 #ifdef#ifndef

话虽如此,我现在有两个文件 file1.cfile2.c 一起编译,里面有 #define TEST 10 文件2.c。然而,当我在 file2.c 中使用 TEST 时,编译器会给出以下错误消息:

'TEST' undeclared (first use in this function)

#define 指令是全局的吗?

最佳答案

#define 不是全局的,它们只是使用它们的地方的替代(如果在同一个编译单元中声明)

它们不是全局变量,它们不是符号,它们在链接时不相关,它们只在预置时相关编译.

关于C: #define 指令是全局的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10512870/

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