84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
光阴似箭催人老,日月如移越少年。
你用来比较的两个说法都有可商榷之处。
编译器 可能 把编译期常量折叠到指令中,完全不在栈上分配内存。也 可能 把多个相同的常量合并成一份放在数据段中。做这样的决定需要分析完整代码,影响决定的因素也不止有define和const。
tldr: 不要看代码凭空猜编译结果,可靠的比较方法唯有objdump。
你用来比较的两个说法都有可商榷之处。
编译器 可能 把编译期常量折叠到指令中,完全不在栈上分配内存。也 可能 把多个相同的常量合并成一份放在数据段中。做这样的决定需要分析完整代码,影响决定的因素也不止有define和const。
tldr: 不要看代码凭空猜编译结果,可靠的比较方法唯有objdump。