摘要:
From: http://blog.ednchina.com/tianlebo/479334/message.aspxextern "C"表示编译生成的内部符号名使用C约定。C++支持函数重载,而C不支持,两者的编译规则也不一样。函数被C++编译后在符号库中的名字与C语言的不同。例如,假设某个函数的原型为:void foo( int x, int y ); 该函数被C编译器编译后在符号库中的名字可能为_foo,而C++编译器则会产生像_foo_int_int之类的名字(不同的编译器可能生成的名字不同,但是都采用了相同的机制,生成的新名字称为“mangled name”)。_ 阅读全文
posted @ 2011-04-13 14:01
清清飞扬
阅读(1230)
评论(0)
推荐(0)
摘要:
在linux下调试一个C,通过,没问题,因为linux是在服务器上,大家公用的,所以都是在自己的机子上调试好了再拿去跑,但是刚刚一个跑通过的程序,竟然在自己机子的XP VC6下又跑不过去了(搞笑的是这个C还是在VC下编好的),怎么回事呢,提示是:error C2275: 'time_t' : illegal use of this type as an expression如图: 怎么回事呢,google一下,都没搜到,无意中看到一篇文章很简单,说的是: (declaration)must placed on the beginning of function, In this 阅读全文
posted @ 2011-04-13 13:06
清清飞扬
阅读(11038)
评论(0)
推荐(0)
摘要:
gcc和g++都是GNU(组织)的一个编译器。 误区一:gcc只能编译c代码,g++只能编译c++代码 两者都可以,但是请注意: 1.后缀为。c的,gcc把它当作是C程序,而g++当作是c++程序;后缀为。cpp的,两者都会认为是c++程序,注意,虽然c++是c的超集,但是两者对语法的要求是有区别的。C++的语法规则更加严谨一些。 2.编译阶段,g++会调用gcc,对于c++代码,两者是等价的,但是因为gcc命令不能自动和C++程序使用的库联接,所以通常用g++来完成链接,为了统一起见,干脆编译/链接统统用g++了,这就给人一种错觉,好像cpp程序只能用g++似的。 误区二:gcc不会定义__ 阅读全文
posted @ 2011-04-13 09:30
清清飞扬
阅读(3774)
评论(0)
推荐(0)
摘要:
本来我用的是这样的程序# include <iostream.h>int main(void){ int i,j; j=0; i=j+1; cout<<"hello world!"<<endl; cout<<"the result is"<<i<<endl; return 0;}利用g++ -o test test.cpp。但是这样是有错误的,提示无法打开iostream.h,修改成这样的程序# include <iostream>using namespace std; 阅读全文
posted @ 2011-04-13 09:24
清清飞扬
阅读(1115)
评论(0)
推荐(0)
浙公网安备 33010602011771号