关于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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值