纯C写Windows程序系列---------VS2010设置纯C环境 .
来源:互联网 发布:中国投资咨询 知乎 编辑:程序博客网 时间:2024/06/04 19:53
目录(?)[+]
- 由来
- 基本步骤
- 注意事项
0 由来
最近看了《C语言也能干大事》的视频教学,又激发起了写纯C程序的兴趣。视频中的开发环境是Visual C++6.0,还有一个版本是CFree,而这些开发环境不是过于陈旧就是非主流,所以打算在Visual Studio 2010上开始我的纯C之旅。
目前软件开发分工已经非常细化了,各个领域的开发语言很专一,不可能用一种语言开发所有领域的软件,即使勉强能这样做,那么效率也相当底下。本人认为目前的语言分工如下:
(1)大中型B/S程序,前端是javascript,后端是.net 或 java,php。
(2)控制型B/S程序,如各种嵌入式设备的操作界面,前端也是javascript,后端为php,perl,以及纯C。
(3)Window桌面程序,C++ + MFC类库,或者.net。目前看来MFC前景不妙,使用上远没有.net 类库方便干净。
(4)操作系统驱动程序以及功能模块,嵌入式系统底层开发,汇编语言以及纯C。
(5)病毒木马以及反黑程序,一般为纯C或者C++程序。
个人感觉,如果不是做嵌入式或者系统底层开发,纯C在职业要求上需要不多了,对于上层开发人员,学习纯C的目的在于:
(1)纯C带来的“纯”感觉,简单正统的感觉;
(2)纯C的环境,对于理解各个OS的内部原理至关重要,对于Windows,各种类库把Windows API封装的太深了,更多的语言特性遮盖住了Windows系统内在的最本质的东西;
1 基本步骤
(1)新建项目,选择Visual C++----Win32---Win32项目。
(2)此时生成的源文件目录下有两个.cpp文件,将它们改名为.c文件。
(3)右键项目名---属性---配置属性----C/C++----高级---编译为:“编译为C代码"。
此时编译程序会报错:
错误 2 error C2275: “HACCEL”: 将此类型用作表达式非法
出错代码为:
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
MSG msg;
HACCEL hAccelTable;
把后两行移动到前面即可,修改后如下:
MSG msg;
HACCEL hAccelTable;
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
2 注意事项
从C++到C要注意几个区别
(1)C中变量定义必须位于代码块开头,这就是为什么上面讲到的报错的原因;C++只要求变量在使用前声明即可,不必放到最前面。
(2)C中结构体变量定义,不能省略struct关键字,如
struct MyStruct
{
int x;
}
MyStruct a;
上述代码在C++中编译正常,而在C中无法编译通过,必须修改为
struct MyStruct a;
- 纯C写Windows程序系列---------VS2010设置纯C环境
- 纯C写Windows程序系列---------VS2010设置纯C环境 .
- VS2010设置纯C环境
- VS2010纯C语言链接MySQL
- 用纯C写的游戏
- 用纯c写一个类
- 纯C代码写BMP文件
- 纯C语言写计算器界面
- 纯C语言写的拼图游戏源码
- 纯C语言写的:迷宫游戏
- 纯C语言写的编译器
- 纯C语言写的冒泡排序
- 纯C语言写的日历
- 纯C语言写的折半查找
- 纯c语言写的拼图游戏
- Windows下,纯C的HttpGet协议
- 用纯 C 编写 WINDOWS 控件
- vs2005中编写纯c程序
- 一直以来伴随我的一些学习习惯(part2)
- HDU4289网络流
- 【C++ primer 笔记】第四章 数组和指针
- 回文字符串
- oracle解锁scott用户
- 纯C写Windows程序系列---------VS2010设置纯C环境 .
- 16.输入一颗二元树,从上往下按层打印树的每个结点
- 一直以来伴随我的一些学习习惯(part3)
- 黑龙江集贤塌楼事件仍有4人被困-集贤-黑龙江-办公楼
- 解析C++中ifstream 与ofstream的用法
- Linux 进程管理剖析
- shell 知识点补充(1)-提示字符的设定/read/declare / typeset/变量设定功能/别名/万用字符与特殊符号
- 一直以来伴随我的一些学习习惯(四)——程序员的知识结构
- nagios全攻略(1)--准备阶段