[置顶] 养成良好的编程习惯-一个库一个文件夹

今天在linux上进行了比较复杂的编译和测试。linux

先描述一下我比较失败的编译经验,但愿能把刚才繁琐的动做的动做描述清楚。测试


情景重复:

1.cpp ----> lib1.so编译

2.cpp ----> lib2.so
file

3.cpp ----> exe
bug


好啦,我介绍下项目环境。

cpp文件:

source/bak(这个下面是:1.cpp.bak, 2.cpp.bak, 3.cpp.bak程序

 

source/*.cpp经验

工程:

 

 

project/bak(这个下面是:Makfile1,Makfile2, Makfile3)项目

project/Makefilemargin

 


如今进入我繁琐的事情了:

为了编译 lib1.so,我作了一下几个动做:di

①rm project目录下的全部的Makefile文件

②从project/bak中拷贝Makfile1到project目录,并改成Makefile。

③rm source目录下的全部的.cpp文件

④从source/bak中拷贝1.cpp.bak到source目录,并改成1.cpp。

固然,若是编译一次,这个固然不是问题。可是,若是,你须要编译几十次,这些多余的脑力会成为你找到真理的障碍。(找到真相原本就很艰难,表增长额外的险阻)


还好,今天头脑还比较清醒,仍是挺过去了。


下午,我是这样作的:

cpp文件:

 

source/1/1.cpp

source/2/2.cpp

source/3/3.cpp

工程:

project/1/Makefile

project/2/Makefile

project/3/Makefile


如今要好不少了。是吧。


我在这里记下微不足道的事情,可是,我以为很重要。

一·

减小你查bug时的痛苦,把精力放在刀刃上。

二·

让你的查错误变得有迹可循,不会覆盖掉之前的测试程序。


阻碍你作这样的事情的缘由:

一·

好比,你须要额外的知识,好比Makefile的相对路径等问题。

二·

麻烦。你可能以为如今既有的东西可以解决问题,为何要引入新的东东。其实,最重要的是,你怕改变。

相关文章
相关标签/搜索