小编ani*_*ani的帖子

了解不同的#define声明

我有一个代码库,它以与我习惯的方式不同的方式使用#define。

我知道,例如,#define a 5将在代码中用5替换变量a。

但这意味着什么:

'#define MSG_FLAG 5, REG, MSGCLR'
Run Code Online (Sandbox Code Playgroud)

我尝试用一​​个简单的代码来完成它并进行编译。它采用最后一个值(例如第三个参数为MSGCLR)。

c macros

0
推荐指数
1
解决办法
61
查看次数

外部变量内存位置和编译/运行时行为

我读过很多关于外部变量的内容,但似乎没有人适当地解决它。如果我在 C 中声明并定义一个变量,它会在文件的该范围内分配内存。但在多文件模块化项目的后期阶段,该变量被声明为 extern,该变量应将其存储在数据段中,以展示 extern 功能的全局行为。

所以我试图弄清楚如何以及何时分配内存,即 extern 变量的编译时和运行时行为。

c runtime compilation extern compile-time

0
推荐指数
1
解决办法
632
查看次数

标签 统计

c ×2

compilation ×1

compile-time ×1

extern ×1

macros ×1

runtime ×1