当前位置: 首页 > news >正文

包装设计网站有哪些《基层建设》官方网站

包装设计网站有哪些,《基层建设》官方网站,网上商城开发网站建设,湘潭网站制作如何正确创建DLL和使用DLL 本文将通过一个简单的实例来说明#xff0c;如何正确的导出DLL中的类、对象、函数#xff0c;并如何通过静态加载或动态加载的方式来使用DLL。 一、DLL中导出类、函数、对象 1. 创建一个空的Win32 Dynamic-Link Library项目Test 2. 在项目中添加一个…如何正确创建DLL和使用DLL 本文将通过一个简单的实例来说明如何正确的导出DLL中的类、对象、函数并如何通过静态加载或动态加载的方式来使用DLL。 一、DLL中导出类、函数、对象 1. 创建一个空的Win32 Dynamic-Link Library项目Test 2. 在项目中添加一个Test.h头文件该文件的内容如下: //导出类class __declspec(dllexport) CTest{...};//导出函数__declspec(dllexport) void FuncTest();//导出对象extern __declspec(dllexport) CTest  ObjTest; 这段代码中通过__declspec(dllexport)导出了类CTest、函数FuncTest和对象ObjTest。在.cpp文件中实现上面的声明与类的定义后经编译就可以生成一个.dll和.lib文件了。 二、静态加载DLL 1. 新建一个Win32 项目。 2. 将上面编译生成的.lib文件复制到该项目下。 3. 在项目中添加一个Test.h(通过该文件实现对DLL的静态加载)该.h文件的内容主要是从DLL的.h文件中复制过来。具体内容如下 #pragma comment(lib, test.lib)//导入类class __declspec(dllimport) CTest...{...};//导入函数__declspec(dllimport) void FuncTest();//导入对象extern __declspec(dllimport) CTest  ObjTest; 这个.h文件与dll的.h的不同就是在开头加了#pragma comment(lib, test.lib)以及类、函数、对象前面的__declspec(dllexport)变成了__declspec(dllimport) 。通过这些修改就可以告诉编译器这个.h文件中定义的类、声明的函数和对象 都是从test.dll中导入的。在项目中完成对这些类、函数、对象的调用代码后就可以将其编译成可执行文件。将生成的可执行为文件、以及上面生成的.dll文件复制到同一个文件夹中就可以正常运行这个可执行文件。 三、动态加载DLL 如果上面的DLL需要被动态调用这需在DLL的代码中添加一个 .def文件在该文件中指出哪些被导出的函数和对象是可以动态调用的。根据上面的例子.def文件的内容如下: LIBRARY    TestImpEXPORTS    ObjTest         FuncTest 在完成.def文件后重新编译dll。重新编译dll后就可以对该Dll进行动态调用了调用过程的代码如下 typedef void (*HFUNC)()HINSTANCE hDLL  LoadLibrary(Test.dll);             //加载DLLif(hDLL){           HFUNC hFun  (HFUNC)GetProcAddress(hDLL, FuncTest);       //获得Dll中FuncTest函数的指针。           if (hFun)                 hFun();    //执行函数FuncTest            else                   ...            //没有找到函数FuncTest}else{//加载失败}  上面的代码实现的对DLL中函数的动态调用在代码中通过LoadLibrary将DLL加载到内存中然后GetProcAddress获得指定函数所在的内存地址即该函数的函数指针获得指向这个函数的指针后就可以对它进行调用了。 对于DLL中对象的动态调用过程基本上是一样的先将DLL加载到内存然后通过GetProcAddress获得对象所在的地址。  从上面可以看出DLL的动态调用过程就是将DLL加载到内存然后通过GetProcAddress获得DLL中指定对象或函数在该内存中的地 址通过该地址就可以对函数或对象进行调用。由于在C中没有类的对象也没有类指针一说所以是无法动态使用DLL中的类的如果谁知道如何使用可以 告诉我。转载于:https://www.cnblogs.com/fence/archive/2010/05/27/1745019.html
http://wiki.neutronadmin.com/news/38181/

相关文章:

  • 润滑油 东莞网站建设网站快速备案被退回的几种原因分析
  • 东莞seo建站排名软文推广是什么意思
  • 扬中网站建设策划朋友圈广告代理商官网
  • 南阳做网站推广建一个网页需要多少钱
  • 北京飞雨网站建设公司wordpress dokan
  • 查外链网站wordpress5.2自动保存
  • 网站开发销售单页展示网站
  • 商品网站建设实验记录公司名字大全 必过
  • 网站的百度推广怎么做嵌入式软件开发工程师工作内容
  • 手机网站页面范例企业宣传册ppt模板
  • 免费制作动画网站成化区建设局网站
  • 全平台开发网站及app博客网站开发背景
  • 山东川畅信息技术有限公司网站建设网站怎么加代码
  • 郑州市建设局官方网站wordpress php
  • 网站快照历史各学院二级网站建设通报
  • 网站报价单申请网页要多少钱
  • 重庆网站运营购物网站功能
  • 网站中 点击出现登录框怎么做网站上怎么做弹幕效果
  • 网站搭建类型开发工程师是什么
  • 建一个网站 服务器机房托管价格暴雪手游
  • 网站域名查询地址慧算账代理记账公司
  • 天津电商网站制作网络服务器忙请稍后重试怎么办
  • 携程网站联盟如何在国外网站开发新客人
  • 高新技术企业申报网站网站带薪歌手都要怎样做呀
  • 常州网站开发培训软件合集软件资料2023
  • 番禺网站建设番禺网络营销江苏省住房和城乡建设局
  • 做小说网站做国外域名还是国内的好吉安市建设技术培训中心网站
  • 原平新闻热点头条wordpress 优化seo
  • 综合型企业网站有哪些天津手机网站制作
  • 帝国+只做网站地图重庆人居建设集团网站