我的代码中有很多未使用的宏。 所以,我想知道..如果一个宏不用,它会占用你程序中的内存空间吗?
我拥有的宏类型只是基本的。 示例:
#define TEST_ID 0
最佳答案
宏将在预处理阶段展开,因此它们不存在于您的程序中。它们只是在您的源代码中占用一些空间。
编辑:
为了回应 Barmar 的评论,我做了一些研究。
MSVC 2012:在调试版本中(禁用所有优化时,/Od),添加宏行不会导致程序大小增加。
GCC:确实提供了一种在调试信息中包含宏的方法,只要您使用特定标志编译程序即可。参见 here . (我自己之前不知道。谢谢@Barmar,@Sydius)
关于c - 宏定义占用多少内存空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25052968/