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

邳州徐州网站开发/线上推广的三种方式

邳州徐州网站开发,线上推广的三种方式,自制网站要钱吗,国家新闻发布会DLL导出变量DLL定义的全局变量可以被调用进程访问;DLL也可以访问调用进程的全局数据,我们来看看在应用工程中引用DLL中变量的例子(单击此处下载本工程附件)。/* 文件名:lib.h */#ifndef LIB_H#define LIB_Hextern int…
DLL导出变量

DLL定义的全局变量可以被调用进程访问;DLL也可以访问调用进程的全局数据,我们来看看在应用工程中引用DLL中变量的例子(单击此处下载本工程附件)。
/* 文件名:lib.h */

#ifndef LIB_H
#define LIB_H
extern int dllGlobalVar;
#endif

/* 文件名:lib.cpp */
#include "lib.h"
#include <windows.h>

int dllGlobalVar;
BOOL APIENTRY DllMain(HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
dllGlobalVar = 100; //在dll被加载时,赋全局变量为100
break;

case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}

return TRUE;
}


;文件名:lib.def
;在DLL中导出变量
LIBRARY "dllTest"
EXPORTS
dllGlobalVar CONSTANT
;或dllGlobalVar DATA
GetGlobalVar

  从lib.h和lib.cpp中可以看出,全局变量在DLL中的定义和使用方法与一般的程序设计是一样的。若要导出某全局变量,我们需要在.def文件的EXPORTS后添加:
变量名 CONSTANT   //过时的方法
  或
变量名 DATA     //VC++提示的新方法

在主函数中引用DLL中定义的全局变量:

#include <stdio.h>
#pragma comment(lib,"dllTest.lib")
extern int dllGlobalVar;

int main(int argc, char *argv[])
{
printf("%d ", *(int*)dllGlobalVar);
*(int*)dllGlobalVar = 1;

printf("%d ", *(int*)dllGlobalVar);

return 0;
}


  特别要注意的是用extern int dllGlobalVar声明所导入的并不是DLL中全局变量本身,而是其地址,应用程序必须通过强制指针转换来使用DLL中的全局变量。这一点,从*(int*)dllGlobalVar可以看出。因此在采用这种方式引用DLL全局变量时,千万不要进行这样的赋值操作:dllGlobalVar = 1;

  其结果是dllGlobalVar指针的内容发生变化,程序中以后再也引用不到DLL中的全局变量了。

  在应用工程中引用DLL中全局变量的一个更好方法是:

#include <stdio.h>
#pragma comment(lib,"dllTest.lib")
extern int _declspec(dllimport) dllGlobalVar; //用_declspec(dllimport)导入

int main(int argc, char *argv[])
{
printf("%d ", dllGlobalVar);

dllGlobalVar = 1; //这里就可以直接使用, 无须进行强制指针转换

printf("%d ", dllGlobalVar);

return 0;
}


  通过_declspec(dllimport)方式导入的就是DLL中全局变量本身而不再是其地址了,笔者建议在一切可能的情况下都使用这种方式
http://www.jmfq.cn/news/5239063.html

相关文章:

  • 网站拓展关键词怎么做/专业seo服务商
  • oss做网站/搜索引擎优化自然排名
  • 修改wordpress登录背景图/seo引擎优化方案
  • wordpress如何给头部加个搜索/怎么卸载windows优化大师
  • 济南城乡建设委员会官网/安卓优化大师老版本
  • 做网站怎样办营业执照/广告设计与制作
  • 网站如何实现qq登录功能/查网站是否正规
  • 供应商管理的五步流程/抚顺优化seo
  • 织梦网站地图如何做/青岛新闻最新消息
  • 钟楼网站建设/广州seo服务外包
  • 网站的首屏 一屏 二屏是什么意思/手机怎么做网站
  • 上海网站建设 知名觉/什么是核心关键词
  • 我的世界封面制作网站/进入百度搜索首页
  • 哈密建设局网站/seo系统培训哪家好
  • 申请网站平台怎么做/互动营销案例
  • 网站设计规划的一般流程/seo优化的主要任务
  • wordpress如何做优化/seo实战培训费用
  • 中国航空港建设总公司网站/怎样建立自己的网站平台
  • 网站建设的总结/超级外链工具 增加外链中
  • 阳江新农村建设网站/百度seo查询收录查询
  • 医疗整形网站怎么做/微信营销推广
  • 个人网站怎么建/什么是搜索引擎优化
  • 全国免费发布信息网/四川seo快速排名
  • 建立个人网站需要什么/网络推广优化服务
  • 郑州商城网站设计/全网营销的公司
  • 网站建设与网页设计制作书籍/合肥网络推广软件系统
  • 购物网站怎么做SEO/品牌营销策划怎么写
  • 企业网站建设规划的基本原则有哪些/搜索百度一下
  • wordpress+显示异常/东莞seo建站投放
  • 江西网站建设费用/人员优化方案