> I.e. '-mabi = ms' is now used by default? Yes, it is for mingw targets.
找到原因了,我先用4.7.1编译的,默认是ecx,后来用4.6.1不是了,gcc编译选项(4.6以 后):-mabi = ms
> I.e. '-mabi = ms' is now used by default? Yes, it is for mingw targets.
这是个4.7的变更,Kai说是为了和微软的方法保持一致
在 2013年7月26日下午2:47,lynnux <lynn...@gmail.com>写 道:
我遇到一个很奇怪的问题环境:tdmgcc4.6.1,欲编译s2e中的revgen,它用到了clang2.6,编译出来的clang release仅有tblgen等几个没问题,其它clang.exe什么的运行直接报错。
我反汇编分析了下,发现出错的原因是在调用某个类时,传递类指针用的堆栈也就是esp,而tblgen中用的 ecx,link的那个类的代码也是把ecx当成类指针。
我看了tblgen和没问题的那几个源码是在utils里的,而有问题的源码是在tools里,于是猜想可能跟编 译选项有关,但是我对gcc不是很熟悉,不知道什么指令可以控制g++生成的汇编代码里用esp或者ecx来表示类指针 即this。clang的代码你知道的,很多,makefile我也不是很熟悉。
我自己测试了个小程序,用的是esp表示类指针。
-- Best Regards, xunxun
| 我一直是vs2008开发,但有特别觊觎c++11特性,但是vs2010和2012太大了,一点都不喜欢 现在gcc和clang进步飞快,要多多学习gcc了。 |
--
--
您收到此信息是由于您订阅了 Google 论坛“Code::Blocks中国开发组”论坛。
要在此论坛发帖,请发电子邮件到 chi...@googlegroups.com
要退订此论坛,请发邮件至 chinacb+unsubscribe@googlegroups.com
更多选项,请通过 http://groups.google.com.hk/group/chinacb?hl=zh-CN 访问
该论坛
--- 您收到此邮件是因为您订阅了 Google 网上论坛的“Code::Blocks中国开发组”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到 chinacb+unsubscribe@googlegroups.com。
要查看更多选项,请访问 https://groups.google.com/groups/opt_out。
不能称为指点,只能说大家相互交流,分享知识,共同提高。我以前学习和使用过ollydbg这个调试器,当时主要目的是学习win32汇编程序设计,现在好久都不用这个调试器了。
大概10年前,我当时想,要是有一个开源的调试器该多好,后来发现了GDB,就折腾起来了。