第一:某男用gcc -o -s编译出的windows文件50K
g++ -o -s编译出来的文件1050K
全是helloworld 根据我的研究gcc编译c的文件调用的是kernel32.dll的地址,所有那么小
因为windows下编译出的全是pe文件。所以~
然后就是今天某男的问题了
问题: int const xx, oo; //ooxx类型一样
int* xx,oo//类型不一样
对此我给出的解释:
追溯到我们所知的2个的东西,define预处理命令和typedef关键字
曾经一个很著名的问题就是#define PINT int* ; typedef int* Pint;
前者不能用来定义一行多个指针。。。而后一个可以,好的,我们知道前者是替换,而后者定义一种新类型。OK
我们得出结论:int*其实不是类型,而*充其量是一个类似于限定符的东西。。。然后我们就可以明白,为什么int * xx, oo;前者是指针后者是对象。
而我们反过来看一个历史上对与指针声明的写法:
int* p;//c
int *p;//c++
这其实代表了各自的重点,前者重点是指向的是int型的指针,后者可以看起来是一个指针,指向int。可见区别
最后群里的考证帝表示c++primer作者在书中写出了类似的东西,但是没有看过c++primer的我表示鸭梨巨大。再次想起某本软件工程书里面说的:你所想就不一定不是大师所想。。。
好吧,我实在蛋疼。