针对VC中的一些基础知识记录

本文探讨了Windows消息机制的优势,包括消息的非依赖性、兼容性和跨语言特性。此外,还介绍了从VC6.0向VS08及更高版本的移植方法,解决编译警告的策略,预编译头文件的使用,CDC类的功能,以及匈牙利命名法和不同编译配置的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、Windows使用消息机制的原因

             首先使用消息机制优于函数调用,因为消息是物理数据,可以很方便的排队和赋予优先级。当一个时间发生时,可以讲该事件的消息放入队列,使得所有的消息能以有序的方式进行处理。

         其次,消息不依赖于处理器类型。其兼容性很好;

         最后,消息不依赖于特定的编程语言。使用各种语言编写的windows程序,其消息可以通过消息接口在各种语言中传递。

2、VC6.0 上写的程序移植到VS08及以上

        VC6.0及以前版本使用多字节字符集,而VS08使用是Unicode字符集。一种简单的方法是将vs08的工程属性改为多字节字符集就OK了。

      在vs08中使用形如strcpy这样的函数时,会有一些警告,消除这些警告的方式有:

      No.1  在stdafx.h的最开始处加入

         #define _CRT_SECURE_NO_DEPRECATE                   or

         #pragma warning (disable:4996)

       No.2   使用安全的函数替代之

          strcpy_s,mbscpy_s (这些新函数的安全版本都在函数名的后面添加了“_s”的后缀。)

 

3、对头文件 stdafx.h(.cpp)的解释(standard application frame extend)

     Windows  API 和MFC等windows程序都将程序常用的一些头文件都放在Stdafx.h中,然后让stdafx.cpp包含stdafx.h,这样编译器可以识别哪些文件是被编译过的,所以stdafx.cpp仅仅被编译一次,生成预编译头文件(stdafx.pch(存放在Debug文件中)),在随后编译每个.cpp时候,便使用刚刚生成的 (.pch)文件。

       我们自己可以将一些常用的头文件放在stdafx.h中,采用预编译可以加速编译过程。

4、CDC类的简单介绍

     在windows程序中,如想在窗口中输出文字或者图形,需要用到设备描述符(Device Context)。DC通过GDI(图形设备接口)来完成文字、图形等的显示。

5、匈牙利命名法规则

     NO.1 标示符的名字以一个或者多个小写字符开头,用这些字母来指定数据类型;

     NO.2 前缀以后就是一个或则多个第一个字符大写的单词,表明变量的用途。

6、Debug和Release编译方式

      Debug版本包含调试信息,没有做优化,不能再没有装VC的机子上运行(会提示缺少动态链接库)。Release版本为发布版本,进行了优化,可以再没有装VC的机子上运行。

    在Release版本下调试方法(一般不能进行调试,需要设置):

      在工程属性设置下

        C/C++选项卡—> Category—>General—>Optimizations—>Disable(Debug)  Debug Ingo —>Program Database

         Link选项卡—>General Debug Info

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值