摘要: 1. Windows平台下主要的内存管理途径申请释放newdeletemallocfreeCoTaskMemAllocCoTaskMemFreeIMalloc::allocIMalloc/freeGlobalAllocGlobalFreeLocalAllocLocalFreeHeapAllocHeapFreeVirtualAllocVirtualFree2. 调用关系第一层:Win32 API作为系统的接口,提供了一组操作虚拟内存的接口;第二层:Heap作为虚拟内存的一部分,Win32 API又提供了一组操作Heap内存的接口,但是这些接口是建立在操作虚拟内存的接口的基础上。第三层:Windo 阅读全文
posted @ 2011-03-26 17:42 zsounder 阅读(2033) 评论(0) 推荐(1) 编辑
摘要: 对于字符数组与字符指针:1. 以字符串形式出现的,编译器都会为该字符串自动添加一个0作为结束符,如在代码中写"abc",那么编译器帮你存储的是"abc\0".2. 字符串直接量作为字符指针的初始值 "hello"是一个字符串直接量,编译器将其作为const char*处理,与之相关联的内存空间位于内存的只读部分,即允许编译器重用指向等价字符串直接量的引用以优化内存使用,即使程序 中使用了字符串直接量500次,编译器在内存中也只是创建了一个实例。例如: char *ptr = “hello”; 等价于 const char *ptr = “hello”;字 阅读全文
posted @ 2011-03-26 14:22 zsounder 阅读(5418) 评论(3) 推荐(4) 编辑
摘要: 1: #ifndef __INCvxWorksh 2: #define __INCvxWorksh 3: #ifdef __cplusplus 4: extern "C" { 5: #endif 6: /*...*/ 7: #ifdef __cplusplus 8: } 9: #endif 10: #endif /* __INCvxWorksh */显然,头文件中的编译宏“#ifndef __INCvxWorksh、#define __INCvxWorksh、#endif” 的作用是防止该头文件被重复引用。3-9行的代码作用又是什么呢... 阅读全文
posted @ 2011-03-26 11:20 zsounder 阅读(453) 评论(0) 推荐(0) 编辑