work hard work smart

专注于Java后端开发。 不断总结,举一反三。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2011年11月16日

摘要: 1、tlb、tlh和tli文件tlb文件:com类型库文件。在需要使用对应com类的模块里,“#import ...*.tlb”使用之。tlh、tli文件:他们是vc++编译器解析tlb文件生成的标准c++文件。因为odl和tlb并不是C++标准的东东,有必要把它们翻译成标准的C++类型,使得C++开发者可以使用。相信vb和j++也会把tlb翻译成自己语言兼容的类型描述信息。tlh相当于类型申明(头文件),tli相当于定义实现(CPP文件)。备注一个重要的相关问题: 在VC下#import "A.tlb" no_namespace named_guids;编译后产生A.tl 阅读全文

posted @ 2011-11-16 17:22 work hard work smart 阅读(3597) 评论(0) 推荐(0) 编辑

摘要: AFX_MANAGE_STATE(AfxGetStaticModuleState())的作用:用于模块切换时的状态保护,1.AfxGetStaticModuleState()指向当前模块状态;2.当前函数调用结束后原模块的状态自动被恢复;3.用于DLL中所调用MFC函数、类、资源时的模块状态切换;[MSDN]By default, MFC uses the resource handle of the main application to load the resource template. If you have an exported function in a DLL, such a 阅读全文

posted @ 2011-11-16 15:37 work hard work smart 阅读(13075) 评论(1) 推荐(0) 编辑

摘要: 一、extern "c "的作用:用来告诉编译器,该函数是用C语言编写的. 二、以下几种使用方式:1.extern "c " void exit(int)//包含c语言中编写的exit函数. 2.extern "c "{ int printf(const char* ....); int scanf(char *...) ; ....}//包含c语言中编写的一组函数. 3.extern "c "{#include <cmath> }包含标准c库中的函数.三、补充1,extern可以置于变量声明前;2,e 阅读全文

posted @ 2011-11-16 15:28 work hard work smart 阅读(332) 评论(0) 推荐(0) 编辑

摘要: 在编程时,也许你会看到函数声明或定义中会出现CALLBACK和WINAPI两个宏。其实,它们也是__stdcall的代名词。看windef.h中的内容:#define CALLBACK __stdcall#define WINAPI __stdcall__stdcall是调用类型.调用类型有:__fastcall、__cdecl、__stdcall。1、__cdecl调用类型: 这是C的调用规则。对于所有非C++成员函数或未标有__stdcall或__fastcall的函数来说,这是默认调用规则。2、__fastcall调用类型:这是一种快速调用。因为CPU的寄存器会被使用来存放函数参数列表. 阅读全文

posted @ 2011-11-16 15:21 work hard work smart 阅读(1125) 评论(1) 推荐(2) 编辑

摘要: 为了避免同一个文件被include多次,可以使用以下两种方式1 #ifndef方式 2 #pragma once方式方式一: #ifndef __SOMEFILE_H__ #define __SOMEFILE_H__ ... ... // 一些声明语句 #endif方式二: #pragma once ... ... // 一些声明语句 包含pragma once语句的文件只会被编译一次。 表示在编译的时候, 这个文件只被包含(include)一次。这样, 可以减少整个编译过程中打开这个文件的次数 参考:http://www.cnblogs.com/figo/archive/20... 阅读全文

posted @ 2011-11-16 15:06 work hard work smart 阅读(830) 评论(0) 推荐(0) 编辑