C/C++语言编程
文章平均质量分 78
ecjtuync
Luck is what happens when preparation meets opportunity.
展开
-
#pragma pack
#pragma pack(4) class TestB { public: int aa; char a; short b; char c; }; int nSize = sizeof(TestB); 这里nSize结果为12,在预料之中。 现在去掉第一个成员变量为如下代码: #pragma pack(4) class TestC转载 2007-03-24 11:09:00 · 1096 阅读 · 0 评论 -
C++ 发手机短信(很易很简单)
由于市场需求,飞鸽传书C/S版XEIM需要集成短信发送功能,于是进行了一番苦而累的研究,今天总算有点点成果,故来自己的网站晒晒,只是点点成果,非常有限,还希望高人能够指点一下。本文欢迎大家转载,但请注明出处:http://www.freeeim.com/另外,由于短信群发会造成各种各样的问题,有些是违法的,希望大家别以身试法。开始吧!实现短信发送,必须有发送短信的设备,我用的是GSM MODEM,原创 2008-11-08 19:24:00 · 9210 阅读 · 1 评论 -
LPSTR, LPCSTR ,LPTSTR,LPCSTR,LPWSTR LPCWSTR
LPCSTR 32-bit 指针,指向一个常量字串 LPSTR 32-bit 指针,指向一个字串 LPCTSTR 32-bit 指针,指向一个常量字串。此字串可移植到Unicode 和DBCS LPTSTR 32-bit 指针,指向一个字串。此字串可移植到Unicode 和DBCSLPWSTR 32-b原创 2008-11-25 11:05:00 · 1121 阅读 · 0 评论 -
第3章 命名规则
第3章 命名规则比较著名的命名规则当推Microsoft公司的“匈牙利”法,该命名规则的主要思想是“在变量和函数名中加入前缀以增进人们对程序的理解”。例如所有的字符变量均以ch为前缀,若是指针变量则追加前缀p。如果一个变量由ppch开头,则表明它是指向字符指针的指针。“匈牙利”法最大的缺点是烦琐,例如int i, j, k; float x, y, z;倘转载 2009-02-25 11:14:00 · 909 阅读 · 0 评论 -
CppUnit使用指南
CppUnit使用指南CppUnit的原理在 CppUnit 中,一个或一组测试用例的测试对象被称为 Fixture(设施,下文为方便理解尽量使用英文名称)。Fixture 就是被测试的目标,可能是一个对象或者一组相关的对象,甚至一个函数。 有了被测试的 fixture,就可以对这个 fixt原创 2009-08-04 16:09:00 · 1190 阅读 · 0 评论 -
c语言中volatile关键字
volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改。用volatile关键字声明的变量i每一次被访问时,执行部件都会从i相应的内存单元中取出i的值。没有用volatile关键字声明的变量i在被访问的时候可能直接从cpu的寄存器中取值(因为之前i被访问过,也就是说之前就从内存中取出i的值保存到某个寄存器中),之所以直接从寄存器中取值,而不转载 2009-06-15 14:52:00 · 733 阅读 · 0 评论 -
笔记
http://code.google.com/p/googletest/http://code.google.com/p/googlemock/原创 2009-12-16 17:05:00 · 658 阅读 · 0 评论 -
Windows下用C语言获取进程cpu使用率,内存使用,IO情况
/** @file* @brief 进程统计信息函数的声明* @author 张亚霏* @date 2009/05/03* @version 0.1**/#ifndef PROCESS_STAT_H#define PROCESS_STAT_H#ifdef __cplusplusextern "C" {#endif typedef long long int64_t;转载 2010-05-17 13:09:00 · 6531 阅读 · 2 评论 -
volatile
<br />volatile总是与优化有关,编译器有一种技术叫做数据流分析,分析程序中的变量在哪里赋值、在哪里使用、在哪里失效,分析结果可以用于常量合并,常量传播等优化,进一步可以死代码消除。但有时这些优化不是程序所需要的,这时可以用volatile关键字禁止做这些优化,volatile的字面含义是易变的,它有下面的作用: <br /><br /> 1 不会在两个操作之间把volatile变量缓存在寄存器中。在多任务、中断、甚至setjmp环境下,变量可能被其他的程序改变,编译器 自己无法知道,vo原创 2011-05-12 11:41:00 · 1004 阅读 · 0 评论 -
第7集 构造函数中抛出的异常
上一篇文章简单讨论了一下对象的成员函数抛出异常时的处理情况。本文中将继续讨论当在构造函数中抛出异常时,程序的执行情况又如何?这有点复杂呀!而且主人公阿愚还觉得这蛮有点意思!构造函数中抛出的异常 1、标准C++中定义构造函数是一个对象构建自己,分配所需资源的地方,一旦构造函数执行完毕,则表明这个对象已经诞生了,有自己的行为和内部的运行状态,之后还有对象的消亡过程(析构函数的执行)。可谁能保证对象的原创 2008-09-17 13:15:00 · 823 阅读 · 0 评论 -
第8集析构函数中抛出的异常
前两篇文章讨论了对象在构造过程中(构造函数)和运行过程中(成员函数)出现异常时的处理情况,本文将讨论最后一种情况,当异常发生在对象的析构销毁过程中时,又会有什么不同呢?主人公阿愚在此可以非常有把握地告诉大家,这将会有大大的不同,而且处理不善还将会毫不留情地影响到软件系统的可靠性和稳定性,后果非常严重。不危言耸听了,看正文吧! 析构函数在什么时候被调用执行? 对于c++程序员来说,这个问题比较简转载 2008-09-17 13:16:00 · 744 阅读 · 0 评论 -
使用伪指令#pragma pack
在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是一些复合数据类型(如数组、结构、联合等)的数据单元。在结构中,编译器为结构的每个成员按其自然对界(alignment)条件分配空间。各个成员按照它们被声明的顺序在内存中顺序存储,第一个成员的地址和整个结构的地址相同。 例如,下面的结构各成员空间分配情况: struct test {转载 2007-03-24 11:04:00 · 876 阅读 · 0 评论 -
程序员的编程修养
什么是好的程序员?是不是懂得很多技术细节?还是懂底层编程?还是编程速度比较快?我觉得都不是。对于一些技术细节来说和底层的技术,只要看帮助,查资料就能找到,对于速度快,只要编得多也就熟能生巧了。 我认为好的程序员应该有以下几方面的素质: 1、有专研精神,勤学善问、举一反三。 2、积极向上的态度,有原创 2007-04-14 11:02:00 · 961 阅读 · 0 评论 -
C语言图形编程
C语言图形函数介绍篇 Turbo C提供了非常丰富的图形函数, 所有图形函数的原型均在graphics. h中, 本节主要介绍图形模式的初始化、独立图形程序的建立、基本图形功能、图形窗口以及图形模式下的文本输出等函数。另外, 使用图形函数时要确保有显示器图形驱动程序*BGI, 同时将集成开发环境Options/Linker中的Graphics lib选为on, 只有这样才能保证正确使用图原创 2007-04-23 19:26:00 · 18094 阅读 · 3 评论 -
键盘各键对应的ASCII码值
0x1 鼠标左键0x2 鼠标右键0x3 CANCEL 键0x4 鼠标中键0x8 BACKSPACE 键0x9 TAB 键0xC CLEAR 键0xD ENTER 键0x10 SHIFT 键0x11 CTRL 键0x12 MENU 键0x13 PAUSE 键0x14 CAPS LOCK 键0x1B ESC 键0x20 SPACEBAR 键0x21 PAGE UP 键0x22 PAGE DOWN 键0原创 2007-04-23 19:33:00 · 2472 阅读 · 0 评论 -
TC下鼠标操作
编程原理: 调用鼠标功能中断INT 33H,所以需要包含 dos.h 头文件。 自定义一个函数mouse()用来调用中断,中断的入口参数和出口参数我们用寄存器变量inregs, outregs表示。 void mouse(int *m1, int *m2, int *m3, int *m4) { union REGS inregs, outregs; inreg原创 2007-04-23 19:57:00 · 3843 阅读 · 2 评论 -
键盘键值对照
const BYTE ZKEY_A = 0x1e; const BYTE ZKEY_B = 0x30; const BYTE ZKEY_C = 0x2e; const BYTE ZKEY_D = 0x20;原创 2007-05-30 16:57:00 · 1788 阅读 · 0 评论 -
bioskey的用法
bioskey Keyboard interface int bioskey(int cmd); Prototype in bios.h cmd Action 0 ?Return key scancode f原创 2007-05-30 17:15:00 · 2404 阅读 · 0 评论 -
C++中string和string.h的作用和区别
#include string .h > void main() { string aaa = " abcsd d " ; printf( " looking for abc from abcdecd %s/n " , (strcmp(aaa, " abc " ))原创 2008-09-17 13:18:00 · 964 阅读 · 0 评论 -
BMP文件格式
转自:http://www.cnblogs.com/xiehy/archive/2011/06/07/2074405.htmlBMP文件格式,又称为Bitmap(位图)或是DIB(Device-Independent Device,设备无关位图),是Windows系统中广泛使用的图像文件格式。由于它可以不作任何变换地保存图像像素域的数据,因此成为我们取得RAW数据的重要来源。Windows转载 2013-06-03 12:29:46 · 969 阅读 · 0 评论