作者:zieckey (zieckey@yahoo.com.cn)
All Rights Reserved!
GCC 可同时用来编译 C 程序和 C++ 程序。一般来说,C 编译器通过源文件的后缀名来判断是 C 程序还是 C++ 程序。
在 linux 中,C 源文件的后缀名为 .c,而 C++ 源文件的后缀名为 .C 或 .cpp。
但是,gcc 命令只能编译 C++ 源文件,而不能自动和 C++ 程序使用的库连接。
因此,通常使用 g++ 命令来完成 C++ 程序的编译和连接,该程序会自动调用 gcc 实现编译。
假设我们有一个如下的 C++ 源文件(main.cpp):
#include <iostream>
using namespace std;
int main()
{
cout << "Hello, world!" << endl;
return 0;
}
则可以如下调用 g++ 命令编译、连接并生成可执行文件:
[root@zeckey hello_world]# g++ -o out main.cpp
[root@zeckey hello_world]# ./out
Hello, world!
[root@zeckey hello_world]#
注解:
1. -o out 是生成指定的输出文件名为out,当然你也可以改用其他你喜欢的名字。用在生成可执行文件时。
2. 如果你喜欢用 gedit 这个编辑编写源程序,可能会出现如下错误:
[root@zeckey hello_world]# g++ main.cpp -o main.o
main.cpp: In function `int main()':
main.cpp:9: stray '\343' in program
main.cpp:9: stray '\200' in program
main.cpp:9: stray '\200' in program
[root@zeckey hello_world]#
这时你可以用 vi 编辑器查看源程序 main.cpp ,可能是如下所示:
#include <iostream>
using namespace std;
int main()
{
cout << "Hello, world!" << endl;
return 0;
}
这柯能是 gedit 编辑器自身带进来的解码错误,所以你最好还是用 vi 这个最经典的编辑器编写程序代码,
可以用 gedit 查看程序代码,如果你确实不习惯的话。