如何控制c++编译器生成的代码,绝对高手请进.
例子代码如下:
//Test.cpp
class TEST
{
public:
void Function(){x=1;}
private:
int x;
};
TEST AAAA;
用g++编译:g++ -S Test.cpp //产生汇编语言文件
//Test.s
.file "testconstruct.cpp"
.globl _AAAA
.bss
.align 4
_AAAA:
.space 4
由此可以看出,由于Function()这个方法没有被使用,所以C++编译器不生成他的代码.编译器这样作当然有它的好处,可以避免使用类库时可执行性文件包含一些不必要的代码.
但是,我现在不需要这个功能,请问如何能够让编译器生成Function这个函数的代码.
第二个问题,如何让g++先生成c代码,然后再生成可执行性文件.如果g++没有这个功能,那么其他的编译器有这个功能吗?如果有,有谁能告之?
第三个问题,如何控制类的成员函数生成的函数名,编译器往往会在成员函数上加上很多修饰,而不象是c语言那样简单的加上一个下划线.
谢谢呀!!!