自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

转载 如何编写线程安全的DLL

在我的工作中经常会编写DLL,这些DLL有个共同的特点就是都有一个初始化函数,一个资源释放函数,其他几个函数都是核心功能函数。而且这些DLL有时会被多个进程同时调用,这就牵扯到多进程的多线程调用DLL的问题。有点绕口,以下我根据我实践中遇到的问题,分四种情况分享一下我解决此类问题的经验:1、动态库只有一个导出函数。这种情况非常少,也是最容易处理的情况。这种情况下编写函数时,只需要考

2013-05-03 10:28:28 739

转载 动态链接库中分配内存引起的问题-- windows已在XX.exe中触发一个断点

动态链接库中分配内存引起的本文主要是探讨关于在动态链接库分配的内存在主程序中释放所产生的问题,该问题是我在刚做的PJP工程中所遇到的,由于刚碰到之时感动比较诡异(这也是学识不够所致),所以将它写下来,大家一起分享.问题来由:由于该工程中要用到声音,所以我的分工之一就是用DirectMusic和DirectSound来开发声音播放的动态库,以提供给该工程的两个部分:仿真控制部

2013-05-03 09:30:24 779

转载 多线程调用MFC DLL、在MFC DLL创建多线程与线程安全

多线程调用: 1、动态库只有一个导出函数: 这种情况非常少,也是最容易处理的情况。这种情况下编写函数时,只需要考虑不要有冲突的全局数据就可以了。这里的全局数据包括了在堆中分配的数据块和静态全局变量等。如果存在这样的全局数据,那么进程中的不同线程访问这个函数就会造成冲突。解决办法也很简单,就是尽量用堆栈(stack)来解决问题。由于堆栈的所有人是线程,所以它必然是线程安全的。当然也要

2013-05-03 09:14:35 1639

转载 MFC VC中使菜单项变灰

一、没有UpdateCmdUI句柄时MFC中缺省的习惯是当没有UpdateCmdUI句柄时程序是使能(Enable)菜单,菜单自动变成使能,只要关掉缺省值就可以了,把下面的代码加入你的程序 CMainFrm::CMainFrm { // Other stuff this->m_bAutoMenuEnable = false; } 然后在消息响应函数中添加如下代码

2013-05-02 20:57:53 2840

转载 VC非模态对话框创建和销毁

非模态(Modeless)对话框,又叫做无模式对话框,当用户打开非模态对话框时,依然可以操作其他窗口。非模态对话框相对于模态对话框,他的创建和销毁过程和模态对话框有一定的区别先看一下MSDN的原文:When you implement a modeless dialog box, always override the OnCancel member function and

2013-04-20 21:53:19 694

转载 MFC UpdateData(FALSE)和UpdateData(TRUE)的作用

在VC里,可以为对话框上的控件设置对应的变量,如文本框可以设置对应的 CString变量,但是在程序中修改文本框的内容时,对应的CString变量不会随着改变,需要调用UpdateData(TRUE)来改变变量。类 似的,程序中改变了CString变量,也需要调用UpdateData(FALSE)也改变文本框的内容。其他的控件都类似,如单选、复选按钮的状态和对应的BOOL变量等。即:F

2013-04-20 21:27:06 825

转载 VC中控件按TAB键的顺序

在编辑界面按下ctrl+D键,就会出现所有控件的Tab键顺序,按照自己想要的顺序依次点击控件,就可以重新安排顺序。

2013-04-20 20:55:43 724

转载 VC 中调用Fortran动态链接库函数开发说明

说明:使用Fortran建立动态链接库,在C/C++语言环境中载入动态链接库,并调用动态链接库中函数。此方法使用动态载入动态链接库的方法。开发环境:Compaq Visual Fortran 6.5Visual C++ 6.01. 程序中特殊要求:1.1 Fortran :在Fortran函数内部添加以下声明:!DEC$ ATTRIBUTES D

2013-04-17 11:33:48 1241

转载 opengl在vs2010下的配置

使用Win 7系统。glut下载地址:http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zipglut.h ---> C:/Program Files (x86)/Microsoft SDKs/Windows/v7.0A/Include/glglut.dll,glut32.dll ---> C:/Window

2013-04-14 15:46:00 528

转载 DLL的灾难---DEBUG与RELEASE版本不能交叉调用

让我们先看一段引文,再来进行心灵的探索:If you have an EXE and a DLL.When your exe APP was built Debug Mode, your Dll must be Debug mode. When your exe APP was built Release Mode, your Dll must be Release mod

2013-04-13 20:09:43 770

转载 MFC TRACE宏的使用

1.在MFC中加入TRACE语句2.在TOOLS->MFC TRACER中选择 “ENABLE TRACING”点击OK3.进行调试运行,GO(F5)(特别注意:不是执行‘!’以前之所以不能看到TRACE内容,是因为不是调试执行,而是‘!’了,切记,切记)4.然后就会在OUTPUT中的DEBUG窗口中看到TRACE内容了,调试执行会自动从BUILD窗口跳到DEBUG窗口,在

2013-04-13 19:28:36 694

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除