现在位置: 首页 > 自动控制 > 工业·编程 > 文章
2012-07-09 03:57 工业·编程 ⁄ 共 18147字 暂无评论
     在Windows中,用户或系统中所发生的任何活动被当作事件来处理,例如,用户按下了鼠标按钮,就产生一鼠标事件。对于所发生的每一个事件,Windows将其转换成消息的形式放在一个称为消息队列的内存区中,然后由Windows的消息发送程序选择适合的对象,将消息队列中的消息发送到欲接受消息的对象上。Windows的消息可分为四种类型:      (1)输入消息:对键盘和鼠标输入作反应。这类...
阅读全文
2012-07-09 03:55 工业·编程 ⁄ 共 3641字 暂无评论
一、一般用法 我们使用#把宏参数变为一个字符串,用##把两个宏参数贴合在一起.   用法:   #include<cstdio>   #include<climits>   using namespace std;   #define STR(s) #s   #define CONS(a,b) int(a##e##b)   int main()   {     printf(STR(vck)); // 输出字符串"vck"     pri...
阅读全文
2012-07-09 03:53 工业·编程 ⁄ 共 1159字 暂无评论
这些函数的区别在于 实现功能 以及 操作对象 不同。 strcpy 函数操作的对象是 字符串,完成 从 源字符串 到 目的字符串 的 拷贝 功能。 snprintf 函数操作的对象 不限于字符串:虽然目的对象是字符串,但是源对象可以是字符串、也可以是任意基本类型的数据。这个函数主要用来实现 (字符串或基本数据类型)向 字符串 的转换 功能。如果源对象是字符串,并且指定 %s 格式符,也可实现字符串拷贝功能。 memcpy 函数顾名思义就是 ...
阅读全文
2012-07-09 03:51 工业·编程 ⁄ 共 2644字 暂无评论
1,防止一个头文件被重复包含 #ifndef BODYDEF_H #define BODYDEF_H   //头文件内容 #endif 2,得到指定地址上的一个字节或字 #define  MEM_B( x )  ( *( (byte *) (x) ) ) #define  MEM_W( x )  ( *( (word *) (x) ) ) 3,得到一个field在结构体(struct)中的偏移量 #define FPOS( type, field ) ( (dword) &(( type *) 0)-> field ) 4,得到一个结构体中field所占用...
阅读全文
2012-07-09 03:49 工业·编程 ⁄ 共 3358字 暂无评论
一、 摘要 C语言编译的整个过程是非常复杂的,里面涉及到的编译器知识、硬件知识、工具链知识都是非常多的,深入了解整个编译过程对工程师理解应用程序的编写是有很大帮助的,希望大家可以多了解一些,在遇到问题时多思考、多实践。 一般情况下,我们只需要知道分成编译和连接两个阶段,编译阶段将源程序(*.c)转换成为目标代码(一般是obj文件,至于具体过程就是上面说的那些阶段),连接阶段是把源程序转换成的目标代码(obj...
阅读全文
2012-07-09 03:44 工业·编程 ⁄ 共 5690字 评论 1 条
写在本文之前算起来,我用Visual C++也有将近5年的历史了。在这期间,我也曾涉猎过Visual Basic和Delphi,但都是浅尝而止;Visual C++始终是我的主业。可是努力的成果如何呢?我用Delphi作出了十多个有规模的软件,用VB--虽然我用在VB上的时间只有短短的两三个月--也有两个像样的项目;然而,在我付出了最大热情和最多努力的Visual C++上面,却只作出了三个自己看得上眼的软件。 固然,在用Visual C++的时候,MFC帮了我不...
阅读全文
Ansi 字符串我们最熟悉,英文占一个字节,汉字2个字节,以一个/0结尾,常用于txt文本文件 Unicode 字符串,每个字符(汉字、英文字母)都占2个字节,以2个连续的/0结尾,NT操作系统内核用的是这种字符串,常被定义为typedef unsigned short wchar_t;所以我们有时常会见到什么char*无法转换为unsigned short*之类的错误,其实就是unicode UTF8 是Unicode一种压缩形式,英文A在unicode中表示为0x0041,老外觉得这种存储方式太...
阅读全文
2012-07-09 03:34 工业·编程 ⁄ 共 6303字 暂无评论
一、什么是Unicode 先从ASCII说起,ASCII是用来表示英文字符的一种编码规范。每个ASCII字符占用1个字节,因此,ASCII编码可以表示的最大字符数是255(00H—FFH)。其实,英文字符并没有那么多,一般只用前128个(00H—7FH,最高位为0),其中包括了控制字符、数字、大小写字母和其它一些符号。而最高位为1的另128个字符(80H—FFH)被称为“扩展ASCII”,一般用来存放英文的制表符、部分音标字符等等的一些其它符号。 这种字符编...
阅读全文
当然,把常量写在 == 运算符的左或右对运算本身没有任何影响,它们仅仅是两种不同的书写风格。所以我敢保证很多人并不会因为看到某些帖子宣称“应该将常量放在左边”就真的改变自己固有的风格,说到底,习惯而已。 不过,将常量写在运算符左边在某种情况下可能会更容易查错。看下面的例子: 片段一,当且仅当 flag == 5 时执行循环体中的内容: int flag; ... while (flag == 5) { /* do something */ } 片段二,手...
阅读全文
2012-07-09 03:29 工业·编程 ⁄ 共 256字 暂无评论
┃代码│ 意 义 ┃ ┃ %a │读浮点值(仅适用于 C99) ┃ ┃ %A │读浮点值(仅适用于 C99) ┃ ┃ %c  │读单字符 ┃ ┃ %d │读十进制整数 ┃ ┃ %i  │读十进制、八进制、十六进制整数 ┃ ┃ %e │读浮点数 ┃ ┃ %E │读浮点数 ┃ ┃ %f  │读浮点数 ┃ ┃ %F │读浮点数(仅适用于 C99) ┃ ┃ %g │读浮点数 ┃ ┃ %G │读浮点数 ┃ ┃ %o │读八进制数 ┃ ┃ %s │读字符串 ┃ ┃ %x │读十六进制数 ┃ ┃ %X │...
阅读全文