预编译头相关知识

    在一个项目中,加入了MD5的相关原代码,但编译时,提示 “unexpected end of file while looking for precompiled header directive” 等错误,搜索下,发现是预编译头部的问题。

    所谓的预编译头就是把一个工程中的某一部分代码,预先编译好放在一个文件里(通常是以.pch为扩展名的),这个文件就称为预编译头文件。这些预先编译好 的代码可以是任何的c/c++代码,但是必须是稳定的,在工程开发的过程中不会被经常改变。如果这些代码被修改,则需要重新编译生成预编译头文件。生成预 编译头文件很耗时间。预编译头文件通常很大,通常有6-7m大。应该及时清理那些没有用的预编译头文件。  
   
  编译器是以文件为单位编译的,一个文件经过修改后,会重新编译整个文件,当然在这个文件里包含的所有头文件中的东西如宏等,都要重新处理一遍。vc的预编译头文件保存的正是这部分信息,以避免每次都要重新处理这些头文件。  
  预编译头的作用:  
           
  要使用预编译头,我们必须指定一个头文件,这个头文件包含我们不会经常改变的代码和其他的头文件,然后我们用这个头文件来生成一个预编译头文件  
   
  vc工程里的   stdafx.h这个文件就是这样一个头文件,它是可以任意命名的,只不过vc的默认命名为stdafx.h。  
   
  可以在vc的project   ->   settings   ->   c/c++   ->   precompiled   header中禁止使用预编译头文件。


问题的解决为:
  点击project->settings 
  选择c/c++ 
  在category中选择precompiled   header 
  然后选择automatic   use   of   precompiled   headers  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值