摘要:
[准备工作]1、将SkinMagicTrial.dll放置在调试目录2、设置库文件目录,在项目[连接器]的[附加依赖项]中加入库SkinMagicTrial.lib3、在项目的stdafx.h文件中加入头文件 #include "SkinMagicLib.h"4、。smf的皮肤文件让人安装目录下(若时候资源式调用,则放在.rc文件夹)[创建过程]1、初始化SkinMagic库:要使用SkinMagic,这一步必不可少。在应用程序类的InitInstance()函数中行加入如下代码(粗体部分): CWinApp::InitInstance();VERIFY( 1 == Ini 阅读全文
摘要:
(一)刚接触到MFC编程的人往往会被MFC 向导生成的各种宏定义和预处理指令所吓倒,但是预处理和宏定义又是C语言的一个强大工具。使用它们可以进行简单的源代码控制,版本控制,预警或者完成一些特殊的功能。但常用的并不多!在VC.Net 普遍使用的预处理指令:#pragma once//只要在头文件的最开始加入这条指令就能够保证头文件被编译一次//传统的解决办法是使用#ifdef 以及#endif 来避免头文件的重复编译## 连接符与# 符## 连接符号由两个井号组成,其功能是在带参数的宏定义中将两个子串(token)联接起来,从而形成一个新的子串。但它不可以是第一个或者最后一个子串。所谓的子串(t 阅读全文
摘要:
线程的同步由 于同一进程的所有线程共享进程的虚拟地址空间,并且线程的中断是汇编语言级的,所以可能会发生两个线程同时访问同一个对象(包括全局变量、共享资源、 API函数和MFC对象等)的情况,这有可能导致程序错误。例如;1).如果一个线程在未完成对某一大尺寸全局变量的读操作时,另一个线程又对该变量进行了写操 作,那么第一个线程读入的变量值可能是一种修改过程中的不稳定值。2).属于不同进程的线程在同时访问同一内存区域或共享资源时,也会存在同样的问题。因此,在多线程应用程序中,常常需要采取一些措施来同步线程的执行。需要同步的情况包括以下几种:1).在多个线程同时访问同一对象时,可能产生错误。例如,如 阅读全文
摘要:
-- 选择自 vcforever 的 Blog在编写程序的时候,我们经常要用到#pragma指令来设定编译器的状态或者是指示编译器完成一些特定的动作. 下面介绍了一下该指令的一些常用参数,希望对大家有所帮助!一. message 参数。message 它能够在编译信息输出窗 口中输出相应的信息,这对于源代码信息的控制是非常重要的。其使用方法为: #pragma message("消息文本") 当编译器遇到这条指令时就在编译输出窗口中将消息文本打印出来。 当我们在程序中定义了许多宏来控制源代码版本的时候,我们自己有可能都会忘记有没有正确的设置这些宏,此时我们可以用这条 指令在 阅读全文