under g++ 01
2006-11-15 10:58:36| 分类:
郁闷自己
| 标签:
|举报
|字号大中小 订阅
今天开始在linux下接触c++的编程,说是在的跟windows下的VC很不一样,至少在一些细节方面不太一样,比较严格,需要时间来转换。在网上搜索到一些资料,作为改动cpp和linux下的.cc的文件的区别:
(一下资料来自:http://talentp.bokee.com/,十分感谢!)
今天在linux下用vi编c++的helloworld程序竟然错误百出。
我的源程序是这样的:
#include <iostream.h>
void main()
{
cout<<"hello world"<<endl;
}
本来用它来测试一下gcc是否能正常工作。用gcc来编译,出现了很多错误和警告。我仔细的看了错误信息,把程序重新编写如下:
#include <iostream>
using namespace std;
int main()
{
cout<<"hello world"<<endl;
return 0;
}
现在解释一下正确的编写helloworld.cpp应注意的地方:
1. 使用正确的头文件名。c++库中的带.h的文件一般要把.h去掉,比如说iostream.h要改为iostream 。c库中的头文件一般要把.h去掉然后在最开始加上c,比如stdio.h要改为cstdio。我想把.h去掉是为了与用户自己定义的头文件区别开来吧。
2. 一定要使用std这个名字空间,不然编译器会认不出cout,它查找iostream的时候只会找到std::cout。
3. main函数的返回类型要定义为int型。听说这是ANSI C++规定的。
其实当我们这windows下的vc编译器中运行时,没修改的程序是能通过的,可是这linux中gcc会弹出N个错误和警告,很不爽。所以在linux中最后得按gcc的规矩办事。
最后得提醒一点的,用gcc来编译c++程序并不是最好的选择,因为这很可能会出现很多解释不了的错误。我认为最好用g++来编,那就绝对不会用错误信息了。至于为什么gcc有时会出现编译错误,我到现在都搞不清原因,这得请高手指教了。
评论这张
转发至微博
转发至微博
评论