1.linux gcc常用命令
无选项
gcc test.c
将test.c预处理、汇编、编译并链接形成可执行文件
-o 文件名
编译为目标代码
-c
只编译源文件不链接,例如:gcc –c test.s,可以将汇编文件输出为test.o文件
-S
生成汇编代码
-E
将程序预处理输出为.i文件,例如: gcc –E test.c–o test.i
gcc 文件名1 文件名2 –o 文件名
多个程序文件的编译,例如:gcctest1.c test2.c –o test
编译多个程序文件,也可以用
gcc –c test1.c
gcc –c test2.c
gcc –o test1.o –o test2.otest
-D FOO=X
在命令行定义预处理宏FOO,其值为X
-I dir
添加头文件搜索路径
-L dir
添加库文件搜索路径
-static
链接静态库
-library
链接库文件
-g
在可执行程序中包含标准调试信息
-ggdb
产生调试信息,仅供gnu识别
-O 数字
指定代码优化的级别为N,0<=N<=3. –O1告诉编译器进行第一级优化,通常提高优化级别会使得程序运行的更快,但是编译的时间会变长,用调试工具调试程序变得更加困难,使用更高的级别优化代码,使得产生的机器代码难以理解。
-ansi
支持ANSI/ISO C的标准语法
-pedantic
允许发出ANSI/ISO C标准所列出的所有警告
-pedantic -errors
允许发出ANSI/ISO C标准所列出的所有错误
-traditional
支持K&R C语法;
-w
关闭所有警告
-Wall
允许发出gcc能提供的所有有用的警告
-werror
把所有警告转换为错误,在警告发生时中止编译过程
2.gcc约定的文件名后缀:
.c C语言源代码文件
.a 目标文件构成的库文件
.cc C++源代码文件
.i 预处理产生的文件
.ii 预处理产生的C++源代码文件
.o 目标文件
.s 汇编代码文件
3.ubuntu编译C++程序
先在ubuntu中安装g++,使用命令sudo apt-get sudo g++
然后写程序源代码,存为.cpp文件,使用命令gcc –o 目标文件名 文件名,生成.out文件后,就可以用.out文件执行程序了。如:
# include <iostream>
using namespace std;
int main()
{
cout<<”hello world”<<endl;
return 0;
}
保存为hello.cpp,然后使用g++ -o hello hello.cpp,
然后执行./hello,即可输出hello,world
原文:http://blog.csdn.net/u011608357/article/details/20835743