int main(){...}输出main在内存中的地址用printf(char*)不要用printf("%p",addr)!!!
printf没有%p格式。
好像不对吧。。
看了反汇编,又查了一下资料,终于找到原因了。没想到之前认为理所当然的东西竟然比我想象的复杂。在debug模式下,程序输出的函数地址其实是vs生成的“增量链接表”的地址,vs这么做的具体原因请看参考资料。而在release模式下就没有这张表了,程序输出的结果和vs显示的一致。参考资料:http://www.cnblogs.com/xylc/p/3503612.html