文章分类 -  C++(VC)

摘要:转自:http://blog.csdn.net/shardowm/archive/2008/02/22/2113095.aspx本文将通过一个简单的实例来说明,如何正确的导出DLL中的类、对象、函数,并如何通过静态加载或动态加载的方式来使用DLL。一、DLL中导出类、函数、对象1. 创建一个空的Win32 Dynamic-Link Library项目Test2. 在项目中添加一个Test.h头文件,该文件的内容如下://导出类class __declspec(dllexport) CTest...{...};//导出函数__declspec(dllexport) void FuncTest() 阅读全文
posted @ 2011-05-22 22:42 Pickuper 阅读(12284) 评论(0) 推荐(0)
摘要:转自:http://www.cppblog.com/XiaoMeiAQing/archive/2009/10/01/97698.aspx创建导出类的Win32 DLL DLL的开发与调用(一)介绍了导出函数Win32DLL的创建过程,这也是最常用的DLL。同样,在DLL中定义的类也可以被应用程序的进程访问。下面仍以实现显示Hello,World!和求和为例介绍。1、创建一个名为SayHello的Win32 DLL的空项目。2、选择“插入|类”,在弹出的新建类窗口中为工程创建类CSayHello。在类的头文件SayHello.h中,使用关键字_declspec(dllexport)声明导出类,并 阅读全文
posted @ 2011-05-22 19:17 Pickuper 阅读(2315) 评论(0) 推荐(0)
摘要:转自:http://www.cppblog.com/XiaoMeiAQing/archive/2009/10/01/97697.aspxVisual C++6.0 中可实现的DLL Visual C++6.0 支持自动生成Win32 DLL和MFC AppWizard DLL两种,其中Win32 DLL不使用MFC类库,其导出的函数是标准的C接口,能够被非MFC和MFC的应用程序调用,应用范围更广泛。所以下面就介绍Win32 DLL的开发。创建导出函数的Win32 DLL1、启动Visual C++6.0,利用AppWizard创建一个“Win32 Dynamic-Link Library”类 阅读全文
posted @ 2011-05-22 19:15 Pickuper 阅读(9111) 评论(0) 推荐(3)
摘要:VC规定各成员变量存放的起始地址相对于结构的起始地址的偏移量必须为该变量的类型所占用的字节数的倍数,同时VC为了确保结构的大小为结构的字节边界数(即该结构中占用最大空间的类型所占用的字节数)的倍数,所以在为最后一个成员变量申请空间后,还会根据需要自动填充空缺的字节。 举个例子:struct MyStruct { double a; char b; int c;} 为上面的结构分配空间的时候,VC根据成员变量出现的顺序和对齐方式,先为第一个成员a分配空间,其起始地址跟结构的起始地址相同(刚好偏移量0刚好为sizeof(double)的倍数),该成员变量占用sizeof(double)=8个字节. 阅读全文
posted @ 2011-05-18 22:26 Pickuper 阅读(1068) 评论(0) 推荐(0)
摘要:C++以及MFC的命名规则基本上是符合匈牙利命名法的,匈牙利命名法是一种编程时的命名规范。基本原则是:变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。命名要基于容易记忆容易理解的原则。保证名字的连贯性是非常重要的。 举例来说,表单的名称为form,那么在匈牙利命名法中可以简写为frm,则当表单变量名称为Switchboard时,变量全称应该为frmSwitchboard。这样可以很容易从变量名看出Switchboard是一个表单,同样,如果此变量类型为标签,那么就应命名成lblSwitchboard。可以看出,匈牙利命名法非常便于记忆,而且使 阅读全文
posted @ 2011-05-18 21:38 Pickuper 阅读(2853) 评论(0) 推荐(0)
摘要:DLL调用有两种方式,一种是静态调用,另外一种是动态调用(一)静态调用静态调用是一种显式的调用方式,即在编程的时候便知道了被调用的DLL中的接口函数,在编译链接的时候将DLL与工程生成的exe相关联。以MyApp.dll为例,具体的操作步骤如下:(1)需要的文件有:MyApp.dll,MyApp.lib,MyApp.h(2)假设需要调用MyApp.dll的工程为MyTest,首先把MyApp.dll放到MyTest工程目录的Debug或者Release目录下,然后将MyApp.lib和MyApp.h放到MyTest工程目录的根目录下(3)用VC打开MyTest工程,选中工程,然后选择VC菜单下 阅读全文
posted @ 2011-05-18 20:05 Pickuper 阅读(10515) 评论(0) 推荐(0)