vc++6.0编写c程序,vs2015和vc6.0 c++一样吗

  vc++6.0编写c程序,vs2015和vc6.0 c++一样吗

  最近把一个系统的源代码从VC 6.0移植到VS C 2005,获得了一些经验。不同编译平台上的代码迁移(这里指的是从较低版本编译器到较高版本编译器的代码迁移)的成本主要由两个方面组成。一个是系统库的变化带来的开销,比如API函数、类成员函数的变化;二是较低版本编译器编写的代码不标准所带来的成本(一般来说,较高版本的编译器对程序语法的检查更严格)。分析这两方面的成本,前者是我们第三方开发者无法控制的,后者是我们可以控制的,后者产生的编译错误更多,花费的时间也更多。通过这次迁移,我觉得:如果用VC 6.0开发时遵循一些原则,迁移到VS C 2005会方便很多。以下是我的一些经历:

  1)尽可能使用标准C语法编写C代码。例如,标准C-type转换器(如staic_cast)用于类型转换,使用标准C库函数(如)时指定实际参数类型

  long I=0;

  double j=sqrt(I);

  上面两行代码在VC 6.0中不会出现编译错误(可能会出现编译警告),但是在VS 2005中,使用sqrt函数会出现一个不明确的错误。为了避免这个错误,你最好这样写:

  long I=0;

  double j=sqrt(static _ cast double(I));

  2)如果实现同样的功能,首选成熟的开源库。因为很多成熟的开源库本身就有跨平台的设计,而且代码是经过标准化和锤炼的。之前在VC 6.0上用msxml4.dll读写xml文件,移植到VS 2005上。结果是,因为VS 2005内置了对xml的支持,所以出现了很多不明确的错误(msxml,msxml3命名空间冲突)。如果我开始用tinyxml、libxml等开源库读写xml文件,我只需要把这些开源代码拿到VS 2005上,编译新的库文件。

  3)必须设置函数的返回值。如果没有返回值,将设置为void类型。如果没有定义函数返回值,VC 6.0默认返回int类型,但是VS 2005会报错。

  4)尽量用unicode字符集编译。这是推荐的原则。众所周知,VC 6.0默认使用多字节字符集编译。但是《Windows核心编程》告诉我们用unicode字符集编译有很多好处:

  A.简化应用程序本地化的代码转换

  B.不同语言之间的数据交换很容易

  C.使您能够分配单个二进制。支持所有语言的exe文件和DLL文件。

  D.提高应用程序的运行效率

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • office2010激活密钥大全 怎么永久激活office2010
  • project2010产品密钥免费_project2010激活密钥永久激活码
  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • chatgpt是什么?为什么这么火?
  • ChatGPT为什么注册不了?OpenAI ChatGPT的账号哪里可以注册?
  • OpenAI ChatGPT怎么注册账号?ChatGPT账号注册教程
  • chatgpt什么意思,什么是ChatGPT ?
  • CAD中怎么复制图形标注尺寸不变,CAD中怎么复制图形线性不变
  • cad中怎么创建并使用脚本文件,cad怎么运行脚本
  • cad中快速计算器的功能,cad怎么快速计算
  • cad中快速修改单位的方法有哪些,cad中快速修改单位的方法是
  • cad中心点画椭圆怎么做,cad轴测图怎么画椭圆
  • CAD中常用的快捷键,cad各种快捷键的用法
  • 留言与评论(共有 条评论)
       
    验证码: