天天看点

windows命令行(或linux)下用gcc/g++编译多个c/cpp文件

        最近一直强迫自己用命令行的方式来编译连接运行文件,当然这个在单个文件的情况下还是很好搞定的嘛。。。

不过在开始学会把一个程序分成几个文件后(有头文件之类的和其他的几个c/cpp文件),不知道怎么编译运行就是个问题了,而且会出现一些常见错误。

       下面主要介绍下常用的方式:

        单个文件的情况:

        g++  filename.cpp

        这是最简单的形式,linux下默认输出是a.out(windows下默认是a.exe),另外可以用 -o 命令指定输出名,命令形式如下:

        g++   filename.cpp  -o  filename

        多个文件的情况(假定有2个文件文件分别是1.cpp和2.cpp):

        第一种方法

        g++  -c  1.cpp  -o  1.o

        g++  -c  2.cpp  -o  2.o

        g++  1.o  2.o  -o prog  (或者linux下输入g++  1.o  2.o  -o prog.out )

        第二种方法

        单个文件一般用g++  -o  filename  filename.cpp

        多个文件时用   g++  -o  file  file1.cpp   file2.cpp  ...

        注意:gcc可以用来编译链接.c源程序,gcc同样可以编译.cpp文件,但是不能链接.cpp文件生成可执行文件。只有g++可以编译并且链接.cpp,g++在编译.cpp文件的时候自动调用gcc进行源文件的编译。

      当然上面的使用方式具体选择哪个就看个人喜好了。

      更多相关信息可参考如下的文章:

       gcc/g++执行的步骤及参数简介

       linux下编译器gcc/g++编译步骤

继续阅读