关于C/C++编译的小小疑问,该怎么处理
关于C/C++编译的小小疑问举个简单的例子C/C++ codeint a 1 + 2那么1+2的计算结果是在运行期得出,还是编
关于C/C++编译的小小疑问
举个简单的例子
C/C++ codeint a = 1 + 2;
那么1+2的计算结果是在运行期得出,还是编译时把3赋给a?
这个问题关系到代码的优化,我希望预处理器能自动帮我算出来。
有没有会反编译的牛人帮看看目标文件里面是
add [ a] 0x01 0x02
还是
mov [ a] 0x03
本人汇编不行。知道的回答一下,谢谢。
[解决办法]常量表达式是在编译时求值的,比如你这句在VC里会被编译为:
Assembly codemov DWORD PTR _a$[ebp], 3
[解决办法]
Assembly code int a = 1 + 2;004117DE mov dword ptr [a],3