热搜关键词: 电路基础ADC数字信号处理封装库PLC

doc

makefile详解

  • 1星
  • 2013-01-15
  • 254.5KB
  • 需要1积分
  • 0次下载
标签: makefile

makefile

  编译时,编译器需要的是语法的正确,函数与变量的声明的正确。对于后者,通常是你  需要告诉编译器头文件的所在位置(头文件中应该只是声明,而定义应该放在  C/C++  文件中),只要所有的语法正确,编译器就可以编译出中间目标文件。一般来说,每个  源文件都应该对应于一个中间目标文件(  O  文件或是  OBJ  文件)。 

链接时,主要是链接函数和全局变量,所以,我们可以使用这些中间目标文件(  O  文  件或是  OBJ  文件)来链接我们的应用程序。链接器并不管函数所在的源文件,只管函  数的中间目标文件(  ObjectFile  ),在大多数时候,由于源文件太多,编译生成的中间  目标文件太多,而在链接时需要明显地指出中间目标文件名,这对于编译很不方便,  所以,我们要给中间目标文件打个包,在  Windows  下这种包叫  “  库文件  ”  (  Library  File)  ,也就是  .lib  文件,在  UNIX  下,是  Archive  File  ,也就是  .a  文件。 

总结一下,源文件首先会生成中间目标文件,再由中间目标文件生成执行文件。在编译 

时,编译器只检测程序语法,和函数、变量是否被声明。如果函数未被声明,编译器会给出一个警告,但可以生成  ObjectFile  。而在链接程序时,链接器会在所有的  Object  File  中找寻函数的实现,如果找不到,那到就会报链接错误码(  Linker  Error  ),在  VC  下,这种错误一般是:  Link2001  错误,意思说是说,链接器未能找到函数的实现。你  需要指定函数的  ObjectFile.  好,言归正传,  GNU  的  make  有许多的内容,闲言少叙,还是让我们开始吧。

展开预览

猜您喜欢

评论

登录/注册

意见反馈

求资源

回顶部

推荐内容

热门活动

热门器件

随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
×