关于VS2008编译器的设置问题。

因为长期进行C++编码,忽视了VS中文件编译器的设置问题,这两天要使用到之前下载的C编码的工程,预想打算改为C++编译。遇到问题

总结如下。归根结底还是对vs使用的不熟练。


1.在VS2008中 对于某个代码文件,是以C++编译器编译,还是以C编译器编译
  与文件本身的后缀是.cpp 还是.c无关。主要按优先级依次取决于以下两项配置
  一是工程本身的编译器设置,见工程属性 C/C++ 高级 编译为/TC或/TP。此时命令行中会出现/TC或/TP。
  二是选中某个特定的文件,打开其属性页,C/C++ 高级 编译为/TC或/TP。
 

2. C++编译器的类型检查比C编译器严格。
  
  因为C编译器的类型检查不严格,所以需多C编码都没有强制类型转换。这样就造成在用C++编译器编译这些代码时
  经常出现的错误就是不能够做类型转换。

  解决的方法: 一是加上强制类型转换, 二是改变单个文件的编译配置,在工程中选中某个特定的文件,
  打开其属性页,C/C++ 高级 编译为/TC。,就是将这个文件的编译方式改为C。
  工程文件中就会多出FileConfiguration配置。具体如下:

<File
  RelativePath="../test.cpp"
  <FileConfiguration
 Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
       >
 <Tool
       Name="VCCLCompilerTool"
       CompileAs="1" //说明这个文件是以C编译器编译的。
 />
  </FileConfiguration>
</File>

这样就会对单个文件以C方式编译了,无需改动代码。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值