现在位置: 首页 > 自动控制 > 文章
2012-07-12 07:19 工业·编程 ⁄ 共 383字 暂无评论
1.前言 C++项目中如果代码层次结构不好,非常容易变得难以维护。对于规模较大的项目而言,必须将整个项目划分成若干模块进行开发。 2.模块 模块包括可执行文件,动态库和静态库。 2.1应用层 最上层为应用层,表现为可执行文件。 本层代码应主要进行界面控制,尽量不要涉及复杂逻辑。 2.2动态库层 动态库层作为逻辑模块的主体。采用动态库的好处是将复杂应用拆分成可以独立分发的子模块,便于...
阅读全文
2012-07-12 06:56 工业·编程 ⁄ 共 1533字 暂无评论
malloca/alloca: 内存分配函数,与malloc,calloc,realloc类似。但是注意一个重要的区别,_alloca是在栈(stack)上申请空间,用完马上就释放。 alloca包含在头文件malloc.h中,在某些系统中会宏定义成_alloca使用。 注意: 1)在调用 alloca的函数返回的时候, 它分配的内存会自动释放。也就是说, 用 alloca 分配的内存在栈上。所以释放不需要用户使用free. 2)alloca不具可移植性,而且在没有传统堆栈的机器上...
阅读全文
2012-07-12 00:37 工业·编程 ⁄ 共 6297字 暂无评论
UNICODE环境设置 在安装Visual Studio时,在选择VC++时需要加入unicode选项,保证相关的库文件可以拷贝到system32下。 UNICODE编译设置: C/C++, Preprocessor difinitions 去除_MBCS,加_UNICODE,UNICODE 在ProjectSetting/link/output 中设置Entry为wWinMainCRTStartup 反之为MBCS(ANSI)编译。 Unicode :宽字节字符集 1. 如何取得一个既包含单字节字符又包含双字节字符的字符串的字符个数? 可以调用M...
阅读全文
2012-07-11 23:08 工业·编程 ⁄ 共 882字 暂无评论
C++提供的预处理功能主要有以下3种 1、宏定义 2、文件包含 3、条件编译 为了与一般C++语句相区别,这些命令以符号#开头,而且末尾不包含分号 宏定义 用#define命令将一个指定的标识符(即宏名)来代表一个字符串。定义宏的作用一般是用一个短的名字代笔一个长的字符串。它的一般形式 #define  标识符  字符串 在C语言中用#define定义符号常量,由于C++已增加了const语句以定义常变量,因此#define在实际上已不多用 #def...
阅读全文
2012-07-11 22:51 工业·编程 ⁄ 共 5124字 暂无评论
    动态链接库 (DLL)是一个包含可由多个程序同时使用的代码和数据的库,DLL不是可执行文件。动态链接提供了一种方法,使进程可以调用不属于其可执行代码的函数。函数的可执行代码位于一个DLL中,该DLL包含一个或多个已被编译、链接并与使用它们的进程分开存储的函数。DLL还有助于共享数据和资源。多个应用程序可同时访问内存中单个 DLL副本的内容。 1 DLL基本编程原理分析 一般来说,DLL是一种磁盘文件(通常带...
阅读全文
VC编程精粹需要进行内存的动态分配和释放操作,本文总结常用的VC对内存的操作方法并比较他们之间的区别,以便于读者能够加深对他们的理解并根据项目的实际情况选用适合自己的方案。 1、GlobalAlloc() The GlobalAlloc function allocates the specified number of bytes from the heap. Windows memory management does not provide a separate local heap and global heap.  Note   The global functions ar...
阅读全文
2012-07-11 22:28 工业·编程 ⁄ 共 363字 暂无评论
CString EncodeChinese(CString InputStr) { int cur; CString tempstr,returnstr; CString ws,temp1; WCHAR mid[2]; ws.Format("%s",InputStr); cur=ws.GetLength(); for(int i=0;i<ws.GetLength();i++) {    temp1=ws.Mid(i,2);    MultiByteToWideChar(CP_ACP,0,temp1.GetBuffer(0),-1,mid,2);    cur=mid[0];    if(cur>0x...
阅读全文
2012-07-11 22:24 工业·编程 ⁄ 共 3222字 暂无评论
所在函数库为math.h、stdlib.h、string.h、float.h 1. 绝对值 int    abs(int i)                                    返回整型参数i的绝对值 double cabs(struct complex znum)     返回复数znum的...
阅读全文
2012-07-11 22:18 工业·编程 ⁄ 共 3667字 暂无评论
根类 CObject CRuntimeClass 应用和线程: CWinApp CWinThread ISAPI应用类 CHttpFilter CHttpServer 同步对象类 CSyncObject CCriticalSection CSempaphone CMutex CEvent CSingleLock CMultiLock 相关类 CCommandLineInfo CWaitCursor CDockState CRecentFileList 命令例程类 CCmndUI CCmdTarget CCmdUi 文档类 CDocument COleDocum...
阅读全文
2012-07-11 22:15 工业·编程 ⁄ 共 2513字 暂无评论
1.检测程序中的括号是否匹配 把光标移动到需要检测的括号(如大括号{}、方括号[]、圆括号()和尖括号<>)前面,键入快捷键“Ctrl+]”。如果括号匹配正确,光标就跳到匹配的括号处,否则光标不移动,并且机箱喇叭还会发出一声警告声。 2.查看一个宏(或变量、函数)的宏定义 把光标移动到你想知道的一个宏上,就比如说最常见的DECLARE_MAP_MESSAGE上按一下F12(或右键菜单中的Go To Defition Of …),如果没有建...
阅读全文