现在位置: 首页 > 自动控制 > 工业·编程 > 文章
用MFC制作的工程由很多文件构成,它不能象一般C++程序那样随意在类外定义全局变量,在这里要想定义能被工程内多个文件共享的全局变量和函数必须用一些特殊方法才行。实际上有多种方法可以实现,这里只介绍两种方法。 一、在应用程序类中定义 用MFC生成的工程中都有一个名为CxxxApp的类,它派生于CWinApp类。这个类主要进行程序的初始化,生成文档、视图对象等工作。我们可以把需要全局访问的变量和函数定义为这个类的成员变量和...
阅读全文
2012-07-09 04:01 工业·编程 ⁄ 共 1359字 暂无评论
网上大多是将函数封装成dll的教程,类的封装也是基本相似的。 创建DLL 在VS2010中新建一个win32->dll工程。如我建立的工程名为FaceDLL 添加facedll.h的头文件(里面定义dll的接口,调用时会用到) #pragma once #ifdef FaceLIBDLL #define FACEAPI _declspec(dllexport) #else #define FACEAPI  _declspec(dllimport) #endif //可以include需要用到的头文件 #include <opencv2/opencv.hpp> c...
阅读全文
2012-07-09 03:59 工业·编程 ⁄ 共 1925字 暂无评论
在网络程序中遇到的一些问题进行了总结, 这里主要针对的是我们常用的TCP socket相关的总结, 可能会存在错误, 有任何问题欢迎大家提出.   对于网络编程的更多详细说明建议参考下面的书籍  《UNIX网络编程》 《TCP/IP 详解》 《Unix环境高级编程》     非阻塞IO和阻塞IO:    在网络编程中对于一个网络句柄会遇到阻塞IO和非阻塞IO的概念, 这里对于这两种socket先做一下说明   ...
阅读全文
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,老外觉得这种存储方式太...
阅读全文