宏定义需要多少内存空间?

chr*_* yo 5 c macros

我的代码中有很多未使用的宏.所以,我想知道..如果一个宏未被使用,它会占用你程序中的内存空间吗?

我拥有的宏类型只是基本类型.例:

#define TEST_ID 0
Run Code Online (Sandbox Code Playgroud)

Eri*_*c Z 5

宏将在预处理阶段进行扩展,因此它们在您的程序中不存在.他们只需要在源代码中占用一些空间.

编辑:

在回应Barmar的评论时,我做了一些研究.

MSVC 2012:在调试版本中(当禁用所有优化时,/ Od),添加宏行不会导致程序大小的增长.

GCC:确实提供了一种在调试信息中包含宏的方法,只要您使用特定标志编译程序即可.看到这里.(我不知道在我之前.谢谢你,@ Barmar,@ Sydius)