C++使用make编译,文件更新注意问题

时间 : 16-04-23 栏目 : 根目录 作者 : eekuang 评论 : 0 点击 : 303 次

当使用make对c++进行编译时,我们有时候会发现出现莫名其妙的错误,而找不到原因。也有可能编译通过了,但是运行出错。这里,主要说下c++在编译过程中文件是如何更新的。使用到的源码文件有三个:test.cpp,calc.cpp,calc.h。

当cpp文件中新增或者修改函数时,头文件中对应的函数名会重新检查,但是不会修改h文件中其它函数的定义。比如说,修改cpp文件中的add函数,则系统会检查h文件中add函数的配置。但是如果此时h文件中的camera函数也修改了,则实际运行时仍然为旧版的camera函数。当仅仅修改h文件,而cpp文件没有修改时,则无法重新make,因为检测到cpp文件无修改,不需要重新编译链接。

附:

test.cpp:

int main(int argc ,char* argv[])
{

Camera *camera=new Camera();

cout<<camera->getFaceTime()<<endl;
cout<<camera->add()<<endl;
return 0;
}

 

calc.h:

class Camera
{
private:
public:
int _iFaceTime;
int getFaceTime();
Camera(){
_iFaceTime=10;
}
int add();
};

calc.cpp:

using namespace std;

int Camera::getFaceTime()
{
return ++this->_iFaceTime;
}

int Camera::add()
{
return 0;
}

 

 

anyShare分享到:

除非注明,文章均为( eekuang )原创,转载请保留链接: http://www.14en.com/?p=168

C++使用make编译,文件更新注意问题:等您坐沙发呢!

发表评论


-----===== 博主信息 =====-----
博主:初级程序猿
介绍:某不知名985高校在读研究僧,热爱编程,喜欢旅游和运动。


0