如何编写线程安全的DLL
在我的工作中经常会编写DLL,这些DLL有个共同的特点就是都有一个初始化函数,一个资源释放函数,其他几个函数都是核心功能函数。而且这些DLL有时会被多个进程同时调用,这就牵扯到多进程的多线程调用DLL的问题。有点绕口,总之实践中会遇到各种问题,但万变不离其中。
本文分四种情况介绍如何编写线程安全DLL,点击这里阅读。
在我的工作中经常会编写DLL,这些DLL有个共同的特点就是都有一个初始化函数,一个资源释放函数,其他几个函数都是核心功能函数。而且这些DLL有时会被多个进程同时调用,这就牵扯到多进程的多线程调用DLL的问题。有点绕口,总之实践中会遇到各种问题,但万变不离其中。
本文分四种情况介绍如何编写线程安全DLL,点击这里阅读。
你是否对 #pragma pack(xxx) 这样的语句的含义感到困惑?
你是否对 sizeof(SomeClass) 的结果百思不解?
你是否遇到了某个类成员变量在调用前是一个值,但是进入某个函数调用时,莫明其妙地变成了另一个值,但是看起来并没有任何地方对它作出修改?
如果你有这些疑问,欢迎阅读 C++的填充(padding)与对齐(align) 一文。
Windows作为GUI操作系统,为了我们提供了很多GUI交互方式,包括很多通用对话框,如打开文件对话框、保存文件对话框、打印对话框、页面设置对话框等等。这次我们实战WINX是如何封装打开和保存文件对话框的,并和API方式和MFC方式做了对比。
点击这里阅读详细的内容。
在CSDN上把《WinX教程之我的实战》写到(六),以后将陆续把与WINX相关的文章发到这里。
今天我们进行的是实战(七)——如何修改应用程序图标(ICON)。