
C/C++/VC
文章平均质量分 54
daly888
hi
展开
-
MFC应用程序中指针的获取
MFC应用程序中指针的使用 1) 在View中获得Doc指针 2) 在App中获得MainFrame指针 3) 在View中获得MainFrame指针 4) 获得View(已建立)指针 5) 获得当前文档指针 6) 获得状态栏与工具栏指针 7) 获得状态栏与工具栏变量 8) 在Mainframe转载 2007-02-14 22:12:00 · 734 阅读 · 0 评论 -
C语言宏定义技巧(常用宏定义)
转载:C语言宏定义技巧(常用宏定义) 写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性 等等。下面列举一些成熟软件中常用得宏定义。。。。。。 1,防止一个头文件被重复包含 #ifndef COMDEF_H #define COMDEF_H //头文件内容 #endif 2,重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移转载 2007-08-04 00:16:00 · 859 阅读 · 0 评论 -
字节顺序和位域顺序的讨论
大端和小端的讨论,一般计算机组成原理教材都会有谈到,但多数不够深入。Big Endian: 高位字节放到内存的低位地址,反之亦然。以太网网络传输字节序, PowerPC, UltraSparc一类的处理器采用大端。Little Endian: Intel的IA-32架构采用。高位字节放到内存高位地址。记得学X86结构是有一记忆口令:High high, low low比特位顺序一般原创 2007-05-05 17:19:00 · 1764 阅读 · 1 评论 -
RWGuard多线程读写同步类
摘自 第10章该类解决了同一进程内的生产者--消费者同步问题。 class CRWGuard ...{public: CRWGuard(); virtual ~CRWGuard(); void WaitToRead(); void WaitToWrite(); void Done();protected: CRITICAL_SECTION m_转载 2007-08-02 14:51:00 · 699 阅读 · 0 评论 -
环形缓冲队列
项目中需要线程之间共享一个缓冲FIFO队列,一个线程往队列中添数据,另一个线程取数据(经典的生产者-消费者问题)。开始考虑用STL的vector容器, 但不需要随机访问,频繁的删除最前的元素引起内存移动,降低了效率。使用LinkList做队列的话,也需要频繁分配和释放结点内存。于是自己实现一个有限大小的FIFO队列,直接采用数组进行环形读取。 队列的读写需要在外部进程线程同步(另原创 2007-08-02 14:44:00 · 1264 阅读 · 0 评论 -
关于SubclassWindow()和SubclassDlgItem
msdn上的解析CWnd::SubclassWindowBOOL SubclassWindow( HWND hWnd );Return ValueNonzero if the function is successful; otherwise 0.ParametershWndA handle to the window.RemarksCall this member function to "原创 2007-07-16 21:41:00 · 4179 阅读 · 0 评论 -
高斯消元法求线性方程组
#define SWAP(x,y) if((x)!=(y)) / { x = x+y; / y = x-y; / x = x-y; } ////////////////////////////////////////////////////////////////// gauss-jordan消元法解线性方程组Ax = B// 参数// a -- 输入系数矩阵,输原创 2007-04-19 23:05:00 · 783 阅读 · 0 评论 -
windows编程好书介绍
VC6技术内幕 David J. Kruglinski MFC编程入门好书,一步步由浅入深走入MFC编程世界。看完这本再看候俊杰的,剩下的问题由MSDN解决吧 Charles Petzold 这书是WIN32 SDK的宝典级著作。即使用MFC等编程框架,这书也有很高的参考价值下面的都是经典,遇到问题时解惑的好帮手 Jeffery.Richter原创 2007-04-12 21:45:00 · 898 阅读 · 1 评论 -
什么是内核对象
什么是内核对象作为一个Wi n d o w s 软件开发人员,你经常需要创建、打开和操作各种内核对象。系统要创建和操作若干类型的内核对象,比如存取符号对象、 事件对象、文件对象、文件映射对象、I / O 完成端口对象、作业对象、信箱对象、互斥对象、管道对象、进程对象、信标对象、线程对象和等待计 时器对象等。这些对象都是通过调用函数来创建的。例如,C r e a t e F i l e M a转载 2007-04-12 21:29:00 · 872 阅读 · 2 评论 -
仿任务管理器中"CPU使用"的控件
从CStatic中派生出这个类使用时先在对话框编辑器添加一个static文本框,再直接用classWizard 添加对话框的一个member variable成员CLevelBar, 又或者直接用Create动态生成。 该控件还提供警戒线设定,参数超过警戒线部分会用另一种颜色表示代码如下:类定义////////////////////////////////////原创 2007-07-12 20:19:00 · 723 阅读 · 0 评论 -
用C实现数据隐藏(私有化)
在C++中,为了更好实现数据隐藏,可把成员设为protected或private,那么C又怎样做呢? 下面看这个例子:hidedemo.h typedef struct Octstr Octstr ;hidedemo.c struct Octstr{ int member1; char* member2;}原创 2007-04-08 09:37:00 · 652 阅读 · 0 评论 -
利用C预编译管理相似结构体
Daly(翻译, 有删减)Lars Wirzenius http://liw.iki.fi/liw/texts/cpp-trick.html 介绍 一般教科书或者编程指南中都建议减少宏的使用,从我的经验看,大量使用宏是错误的来源,经常会使人陷入混乱。但当我1997年参与HiBase项目时学习到这个技巧后,使我很震惊。我发现在一些任务里,这个技巧可以避免大量相似翻译 2007-04-04 11:24:00 · 748 阅读 · 0 评论 -
关于字节对齐
字节对齐 为了能使CPU对变量进行高效快速的访问,变量的起始地址应该具有某些特性,即所谓的“对齐”。例如对于4字节的int类型变量,其起始地址应位于4字节边界上,即起始地址能够被4整除。变量转载 2007-01-12 11:40:00 · 558 阅读 · 0 评论 -
C++标准库与Java基础类对照
C++标准库与Java基础类对照表作者: Daly 日期:2007-08-11 一、集合类 对象的集合,指如链表,数组,队列这一类的数据结构。在C++标准库中把这些成为Container, 在Java中称为Collection。 C++STL常用Container: vector, list, map, set, queue, stack, priorit原创 2007-08-11 14:42:00 · 2762 阅读 · 0 评论