Visual Studio 2012(C语言) 与visual C++ 6.0 语法主要在哪些地方不一样

我在C++6.0里写的程序,放在2012里很多地方出错噶,具体说一下哪些细节不同... 我在C++6.0里写的程序,放在2012里很多地方出错噶,具体说一下哪些细节不同 展开
 我来答
Adol1111
推荐于2016-03-26 · TA获得超过948个赞
知道小有建树答主
回答量:218
采纳率:0%
帮助的人:330万
展开全部

就语法支持来说,应该差别不大,因为VS至今都没实现C99标准

如果有问题,主要是这几个方面:

  1. 你写的程序本身有问题,可能涉及到一些未定义问题,这类问题不会提示error,但会使得结果出错,比如i=++i+(++i)+(++i)等,同一句语句多次使用前缀后缀++

  2. 微软从VS2005开始,重写了一套库函数,原先的库函数比如scanf等被认为是不安全的,要改成scanf_s之类的函数(参数也改了,具体可以查看MSDN的帮助文档),或者在最开头定义#define _CRT_SECURE_NO_WARNINGS来无视安全警告

  3. 看清楚文件后缀,是否是.c的,.cpp是用C++解析的,不过问题应该不大,因为你写的是C的,不是C++。只是有一些风格比较老的C++不能用了,比如#include<iostream.h>,不过C不存在这些问题。

  4. 引用的windows库函数过旧,微软更新过大量的API,如果使用了一些系统的API,就必须注意是否过期被淘汰,或者该API被修改(或者是使用方法被修改),比如要事先#define,或引入某些其他的头文件等等

  5. 代码风格太老,比如void main(){}等等,新编译器无法使用,特别是gcc,但VS好像可以使用

一般主要问题是针对C++的,因为C++的标准更新过多次,但C的标准还是C99,而且微软目前也不打算实现C99,不过VC6.0的很多部分已经和现在的标准、风格脱节了,最好不要再用VC++6.0

追问
要从6.0转型到2012过来要怎么做呢,或者说看什么书呢
追答
不需要看什么书吧,一般按照标准的规范写就可以了。如果是关于系统API的话,建议多查查MSDN,看看哪些可以用,官方有详细介绍的。至于相关操作什么的,官方也有,都在MSDN里面。总之你多查查MSDN,里面的帮助文档都很全面,你VS下按F1就可以了。

一般编程的时候也不是翻书的,都是一边编程一边看MSDN这种在线手册,书是理论依据,原理什么的看书,库函数的使用方法,参数什么的看直接看帮助文档就可以了。
dongyanxia1000
2013-09-28 · TA获得超过663个赞
知道小有建树答主
回答量:364
采纳率:75%
帮助的人:94万
展开全部
vs2012的功能更多些,能处理更复杂的问题,可以用.net,C++6.0就不行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yibin19911219
2013-09-28
知道答主
回答量:4
采纳率:0%
帮助的人:2.9万
展开全部
报什么错就解决, 这没什么的。 只是一些库或文件有些不同,大同小异。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式