g++ main.cpp 编译文件,生成一个可执行程序,名字默认
g++ main.cpp -o main 编译文件,生成一个可执行程序,名字为main
g++ main.cpp -I include/ -I 指定头文件目录
g++ main.cpp -l xxx -l参数指定静态库名称(linux下静态库名字是libxxx.a windows下是 xxx.lib)
C++源文件到可执行程序具体步骤为:
预处理 编译 汇编 链接
我们可以使用命令单独生成某个步骤处理的结果
预处理 -E 本质是文本的处理,宏定义的替换、头文件复制到对应的位置、删除注释
编译 -S 文本编译为汇编代码
汇编 -o 汇编代码转为可执行指令
链接 静态库、动态库链接
g++ -E hello.cpp -o hello.i 得到预处理后的文件hello.i
g++ -S hello.i 得到编译后的汇编文件hello.s 这个名字是默认的
g++ -c hello.s 得到汇编后的文件hello.o
g++ hello.o -o hello 这里单个文件链接为hello 可以./hello执行
静态库制作
g++ -c add.cpp print.cpp 生成 .o文件
ar rcs libtest.a add.o print.o 生成静态库libtest.a
g++ main.cpp -l test 注意要有库中函数、类的声明
动态库制作