![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Windows/Unix/操作系统
sophistcxf
什么都略懂一点儿,生活更多彩一些
展开
-
串行化
/****************************************仅供作者学习和记录******************************************/串行化1.要串行化的类,派生与CObject,并且重写Serialize( CArchive &ar )方法,在这个方法中,你可以自已定义自已想保存哪些数据。CArchive有个方法是IsStori原创 2012-06-17 10:48:43 · 777 阅读 · 0 评论 -
[Unix环境高级编程] 线程
一、什么叫线程,为什么要引入线程二、线程的表示与PID类似,线程有线程ID,类型为pthread_t,注意不能作为整数处理。如果要比较两个线程ID是否相同,要使用函数:int pthread_equal(pthread_t tid1, pthread_t tid2)另pthread_t pthread_self(void)可以得到当前线程的线程ID。原创 2013-06-20 16:21:42 · 683 阅读 · 0 评论 -
[Windows]接口描述语言IDL
接口描述语言Interface Description language一、首先,为什么要引用接口描述语言呢?接口描述语言是平台无关的,并且注意,他是一种语言。VS提供了工具MIDL可以接IDL编译成为C++兼容的的“接口描述头文件.h”。这个生成的.h文件可以提供给客户使用。二、实例原创 2013-06-20 16:19:42 · 1776 阅读 · 0 评论 -
c/c++,windows中各种字符的转换
每次碰到char, wchar, CString, BSTR等等一系列字符时,只关系到字符匹配问题,我都要重新查资料,头疼。所以在此记录碰到的关于字符,字符转换的经验。原创 2013-07-01 15:55:24 · 699 阅读 · 0 评论 -
[COM]error MIDL2025
接触IDL时间不长,今天编译一个IDL文件,编译时出现如下错误:error MIDL2025 : syntax error : expecting a type specification near "IcwLineSymbol"error MIDL2026:...(记不清了)MIDL出现此错误说明 IcwLineSymbol 未定义。于是搞了个前置定义,编译通过,但链接出错。原创 2013-06-27 17:12:01 · 4692 阅读 · 0 评论 -
[COM]接口描述语言IDL
一、首先要清楚一点,使用IDL只是定义COM接口的一种方法(用C++也可以定义)。IDL是一种语言,Microsoft Visual C++提供了MIDL工具,可以将IDL文件编译成C/C++兼容的接口描述头文件(.h)。如下是用IDL写的一个IcwElement接口[ object, uuid(0736591A-734E-4a3d-A1F0-150A50E402BB), hel原创 2013-06-27 11:31:39 · 5047 阅读 · 0 评论 -
OpenThreads线程库
OpenThreads与pthread不同点在于,他是根据面向对象开发的。一、OpenThreads在线程同步上不同于之前我所了解的(比如pthread),除了常用的几路,他还提出了额外的。传统的:1. 互斥量OpenThreads::Mutex类当线程使用某一资源时,先使用互斥量加锁。由于采用了面向对象机制将互斥量抽象为一个类,所以不像pthread函数那样传入个参数。Mutex原创 2013-07-29 17:18:23 · 4300 阅读 · 0 评论 -
[Windows]MFC对话框会过滤掉键盘消息
建了个对话框工程,结果怎么都响应了不键盘的上下左右消息,又去查了WM_KEYDOWN和WM_SYSKEYDOWN的区别,以为是这里出问题。但WM_SYSKEYDOWN是只说按下了F10或者ALT,显然与我的问题无关。最后在论坛中见有人回答说:对话框对键盘消息已经过滤,但可以在PreTranslateMessage中处理。于是在对话框类中复写了这个方法。然后去MSDN查这个方法的具体意思:M原创 2012-07-31 16:13:47 · 2814 阅读 · 0 评论 -
单元测试
CPPUNIT的下载地址为:http://sourceforge.net/projects/cppunit/files/cppunit/1.12.1/理论上说,可以直接编译,但我在VS2008下编译不了。提示错误为找不到msvcrpt.lib,以前也经常碰到此类错误,未深究,总将运行时库改为/MTd,亦总奏效,但此次不行,因为必须使用MFC shared library,即声明了_AFXD原创 2012-09-27 10:03:13 · 422 阅读 · 0 评论 -
用二维数组创建显示位图
代码如下: BITMAP bmpInfo; short bits[100][100]; // 模拟一个16位的位图100*100 for(short i = 0; i < 100; i++) { for(short j = 0; j < 100; j++) { bits[i][j] = 0; } } bmpInfo.bmBits = bits;原创 2012-08-09 10:45:29 · 3352 阅读 · 0 评论 -
CDockablePane的测试
如何建立CDockablePane要在CMainFrame类的OnCreate中实例化CDockablePanem_pPropWnd->Create( TEXT("Properties"),this,CRect(10, 10, 200, 500),TRUE,1001,WS_VISIBLE | CBRS_FLOAT_MULTI | WS_CHILD | CBRS原创 2012-07-03 23:20:30 · 746 阅读 · 0 评论 -
吭啊,AFX_WM_PROPERTY_CHANGED消息
昨天搞了很久,当一个CMFCPropertyGridCtrl的属性改变时,如何得到这个改变。查MSDN有个OnPropertyChanged方法,由MFC框架调用,然后查源码,在afxpropertygridctrl.cpp中找到OnPropertyChanged方法,其中有一句GetOwner()->SendMessage(AFX_WM_PROPERTY_CHANGED, GetDlgCtrlI原创 2012-07-25 14:39:14 · 3717 阅读 · 2 评论 -
COM
MSDN参考:第一句话是:COM is a platform-independent, distributed, object-oriented system for creating binary software components that can interact.COM是一种平台无关,发布的(?),面向对象的可交互的二进制软件组件。COM是OLE和ActiveX基础。理解COM,关原创 2012-07-25 17:38:46 · 551 阅读 · 0 评论 -
OLE
百度百科:Object Linking and Embedding,对象连接与嵌入,简称OLE技术。OLE 不仅是桌面应用程序集成,而且还定义和实现了一种允许应用程序作为软件“对象”(数据集合和操作数据的函数)彼此进行“连接”的机制,这种连接机制和协议称为组件对象模型(COM)。(怎么理解应用程序作为软件对象?)OLE 是在客户应用程序间传输和共享信息的一组综合标准。允许创建带有指向应用程原创 2012-07-25 17:25:25 · 694 阅读 · 0 评论 -
windows的文件系统
今天看鸟哥linux私房菜文件系统,突然想windows的文件系统是怎样的。以前只是FAT,NTFS这些浅显的东西,还真没有仔细研究过。于是百度之。(以前学操作系统时不认真,考研时好像又不考文件系统这章,没什么印象了)。文件系统是操作系统下与目录相关的一个子系统(类似于OS是总经理,而操作系统是一个部门经理,当然数据库管理系统也是一个部门经理)。那么文件系统具体做什么呢:文件命名,文件储存(磁原创 2012-07-26 11:40:25 · 558 阅读 · 0 评论 -
IUnknown
只用于桌面应用程序。参考MSDN:可以让一个客户(我理解为对象或类)得到指向其他接口的指针,通过QueryInterface方法。C++是没有接口这个概念的,因而可以是别的类(多继承)。所有的COM接口都继承了IUnknown接口。原创 2012-07-25 17:00:06 · 381 阅读 · 0 评论 -
ActiveX Controls
MSDN上第一句说:ActiveX Controls本质上是一个OLE对象。实现了IUnknown接口。那么,什么是OLE对象()。什么是IUnknown接口(OLE)。原创 2012-07-25 16:41:07 · 591 阅读 · 0 评论 -
MFC之代码跟踪
工程名为:StudyFrame(1) StudyFrame.cpp中CStudyFrame theApp; 这里声明了一个CWinApp的全局变量,因而会先进入到CWinApp的构造函数中。CStudyFrameApp类中定义了一个bool m_bHiColorIcons; 不知何用,在构造时赋成了true。回来后这个构造函数中只有一条语句m_bHiColorIcons =TRUE;暂不知何原创 2012-07-30 16:54:34 · 1507 阅读 · 0 评论 -
[操作系统] 进程和线程
看到百度面试题有道进程和线程的区别,什么是线程安全?于是就想借此机会把进程线程的知识扫了。原创 2013-08-07 20:27:04 · 1012 阅读 · 0 评论