Visual Studio 2012(C语言) 与visual C++ 6.0 语法主要在哪些地方不一样
就语法支持来说,应该差别不大,因为VS至今都没实现C99标准
如果有问题,主要是这几个方面:
你写的程序本身有问题,可能涉及到一些未定义问题,这类问题不会提示error,但会使得结果出错,比如i=++i+(++i)+(++i)等,同一句语句多次使用前缀后缀++
微软从VS2005开始,重写了一套库函数,原先的库函数比如scanf等被认为是不安全的,要改成scanf_s之类的函数(参数也改了,具体可以查看MSDN的帮助文档),或者在最开头定义#define _CRT_SECURE_NO_WARNINGS来无视安全警告
看清楚文件后缀,是否是.c的,.cpp是用C++解析的,不过问题应该不大,因为你写的是C的,不是C++。只是有一些风格比较老的C++不能用了,比如#include<iostream.h>,不过C不存在这些问题。
引用的windows库函数过旧,微软更新过大量的API,如果使用了一些系统的API,就必须注意是否过期被淘汰,或者该API被修改(或者是使用方法被修改),比如要事先#define,或引入某些其他的头文件等等
代码风格太老,比如void main(){}等等,新编译器无法使用,特别是gcc,但VS好像可以使用
一般主要问题是针对C++的,因为C++的标准更新过多次,但C的标准还是C99,而且微软目前也不打算实现C99,不过VC6.0的很多部分已经和现在的标准、风格脱节了,最好不要再用VC++6.0
要从6.0转型到2012过来要怎么做呢,或者说看什么书呢
不需要看什么书吧,一般按照标准的规范写就可以了。如果是关于系统API的话,建议多查查MSDN,看看哪些可以用,官方有详细介绍的。至于相关操作什么的,官方也有,都在MSDN里面。总之你多查查MSDN,里面的帮助文档都很全面,你VS下按F1就可以了。
一般编程的时候也不是翻书的,都是一边编程一边看MSDN这种在线手册,书是理论依据,原理什么的看书,库函数的使用方法,参数什么的看直接看帮助文档就可以了。