关于linux编译文件的一些感想

近段时间,博主一直在学习gcc编译以及make的一些知识,有一些小的感想分享一下。
我们在编译文件的时候一直采用的是

//假设我们有 1.h  1.cpp   2.h   2.cpp  main.cpp
 我们编译经常是 
 g++ -c 1.cpp
 g++ -c 2.cpp
 g++ -c main.cpp
 g++ -o 1.o 2.o main.o -o main.out

如果我们这样编译行不行

g++ 1.cpp 2.cpp main.cpp -o main.out

这样编译也可以,不过有几点需要注意:
1、这样不会有中间文件输出
2、一旦编译出错,整个项目的所有文件都需要重新编译。文件编译花费的时间不长还好,如果需要花费很长的时间,那么对于开发人员来说将是大大降低工作效率的存在(这里也可以查看VS的编译过程,它会将已经编译过的文件写成obj文件,然后如果你没有改过源文件,VS是不会再去编译这个文件的,只是链接的时候会把这些中间文件链接成一个exe程序)

PS: 我在用centos7 进行g++的时候,会出现这么个错误

g++: command not found

明明已经安装了gcc g++ 为什么还会出现这样的错误,如果放在ubuntu下面,这是没有问题的,可能centos 有些地方和ubuntu不一样吧,解决方案在下面:

yum -y update gcc
yum -y install gcc+ gcc-c++
亲测,源于:https://blog.csdn.net/sz76211822/article/details/79137074
原创文章 19 获赞 1 访问量 441

猜你喜欢

转载自blog.csdn.net/weixin_45718152/article/details/103653891