`
cloudtech
  • 浏览: 4612400 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

dll用法及小结

 
阅读更多

问题一:

有两个工程:主程序(exe工程)A,lib工程B.工程A如何访问工程B里的变量exp?

解:

1.在工程B里定义exp,如

int exp;

2.在工程A里声明exp,如

extern int exp;

3.程序代码里访问exp,如

int a = exp;

4.在工程A链接的时候将工程B生成的lib作为输入.

5.调试A工程

问题二:

有两个工程:主程序(exe工程)A,dll工程B.工程A如何访问工程B里的变量exp?

1.在工程B里定义exp,如

__declspec( dllexport ) int exp;

2.在工程A里声明exp,如

__declspec( dllimport) int exp;

3.程序代码里访问exp,如

int a = exp;

4.设置A工程依赖于B工程

5.调试A工程

以下是关于dll的重要信息

1.一旦DLL的文件映像被映射到调用进程的地址空间中,DLL的代码和数据看上去就像恰巧是在进程的地址空间中的额外代码和数据一样。

2.多个进程加载dll互不干扰

3.dll里的全局变量在多个进程里有各自的副本,独立行事.

4.不可在dll内分配内存(比如malloc),而在dll外释放它(比如free).地址空间的不同会让释放出错.

参考自下文:

分享到:
评论

相关推荐

    dll的使用介绍

    dll的使用方法,dll的简单介绍,vc中使用dll的小结

    C#生成DLL文件的方法小结

    使用csc命令将.cs文件编译成.dll的过程 很多时候,我们需要将.cs文件单独编译成.dll文件, 操作如下: 打开命令窗口->输入cmd到控制台->cd C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322 转到vs.net安装的该目录下->...

    DLL的动态下载运行.mht

     小结  在一个中等以上规模的企业中,网络中的节点往往有几百、上千个,客户端软件的升级是网络管理员最感到头疼的事,使用本文介绍的自动下载方法,可以极大地减轻管理员的工作负担。另外利用C++、VB等编制的...

    C#实现启用与禁用本地网络的方式小结【3种方式】

    主要介绍了C#实现启用与禁用本地网络的方式,结合实例形式总结分析了使用Hnetcfg.dll、Shell32.dll及setupapi.dll三种启用与禁用本地网络的操作方法,需要的朋友可以参考下

    C# [ImportDll()] 知识小结

    这周在做公司的一个C#项目中,要写一个webservice提供一个下载方法,之前公司有过,但是要整改,于是这种鸟屎摊子又交给了我,其中一个密文流的下载中要应用我们小组另一伙人用C++写的四个dll, 这些DLL是由我们自己...

    精通MFC (光盘) 源代码

    目录 第1章 面向对象编程 1.1 面向对象的基本概念 1.1.1 类和对象 1.1.2 封装、多态和继承 1.1.3 消息 1.2 面向对象的建模技术UML 1.2.1 类图 1.2.2 交互图 1.2.3 用例图 1.3 面向对象的C++语言... 16.5 小结

    Visual C++2010开发权威指南.part05

    第10章 Visual C++ 2010 MFC动态函数 第10章 链接库 434 10.1 动态函数链接库简介 434 10.1.1 什么是动态函数链接库 434 10.1.2 动态函数链接库的优点 435 10.1.3 动态函数链接库的起源 436 ...11.9 小结 478

    COM与COM+从入门到精通(pdf版本,含源码)

    ... ... ... ... ...小结 ...第2章 由VC++建立并使用COM服务器 ...小结 ...第3章 用VB建立并使用COM服务器 ...使用ClassBuilder ...增加方法 ...使用ActiveXDataObject(ADO) ...在服务器组件中使用Recordset对象 ...在客户机组件中使用ADOR ...小结

    Windows应用程序捆绑核心编程光盘代码

    3.6.2 使用DLL通信的方法 65 3.6.3 使用DLL通信的实例 66 3.7 使用Windows剪贴板通信 67 3.7.1 使用剪贴板实现进程间通信的方法 68 3.7.2 使用剪贴板实现进程间通信的实例 68 3.8 使用动态数据交换(DDE)通信 ...

    Symbian OS C++高效编程

    576.2 一般描述符方法 586.3 使用HBufC堆描述符 616.4 外部化和内部化描述符 626.5 TFileName的过度使用 646.6 在描述符操纵方面有用的类 646.7 小结 66第7章 动态数组与缓冲区 687.1 CArrayX类 697...

    在asp.net中KindEditor编辑器的使用方法小结

    由于国外的服务器好象对一些要引用dll编辑器由于安全问题,锁定了web.config中的一些权限,在先试了FreeTexbox不行,FCKEditor也不行,因为都是要引用dll文件,最后同事介绍一款 纯js的kindeditor编辑器,

    Visual C++音频视频处理技术及工程实践(含源码2/2)

    3.2 DirectSound的详细使用方法 103 3.2.1 DirectSound设备对象 104 3.2.2 DirectSound缓冲区对象 107 3.2.3 使用WAV数据 114 3.2.4 使用音效 116 3.3 开发环境配置 118 3.3.1 Visual C++基本开发环境配置 119...

    C# SQlite操作方法小结

    本文实例分析了C# SQlite操作方法。分享给大家供大家参考,具体如下: 最近项目需求用C#保存一些数据,如此先总结一下。需要下载Sqlite 库 SourceForge 链接网址http://sourceforge.net/projects/sqlite-dotnet2/或...

    精通matlab7.0混合编程.

    5.4.3 cmatlabeng说明和使用方法 5.5 应用实例 5.6 小结 第6章 mat文件实现数据共享 6.1 mat文件简介 6.2 操作mat文件 6.2.1 mat文件格式 6.2.2 操作mat文件的matlab api 6.3 visual c++调用mat时的环境设置 6.4 ...

    Visual C++音频视频处理技术及工程实践地址

    3.2 DirectSound的详细使用方法 103 3.2.1 DirectSound设备对象 104 3.2.2 DirectSound缓冲区对象 107 3.2.3 使用WAV数据 114 3.2.4 使用音效 116 3.3 开发环境配置 118 3.3.1 Visual C++基本开发环境配置 119...

    Visual C++音频视频处理技术及工程实践(分卷0)

    3.2 DirectSound的详细使用方法 103 3.2.1 DirectSound设备对象 104 3.2.2 DirectSound缓冲区对象 107 3.2.3 使用WAV数据 114 3.2.4 使用音效 116 3.3 开发环境配置 118 3.3.1 Visual C++基本开发环境配置 119 3.3.2...

    Visual C++ 音频/视频 处理技术及工程实践(分卷3)

    3.2 DirectSound的详细使用方法 103 3.2.1 DirectSound设备对象 104 3.2.2 DirectSound缓冲区对象 107 3.2.3 使用WAV数据 114 3.2.4 使用音效 116 3.3 开发环境配置 118 3.3.1 Visual C++基本开发环境配置 119 3.3.2...

    Visual C++音频视频处理技术及工程实践(分卷9)

    3.2 DirectSound的详细使用方法 103 3.2.1 DirectSound设备对象 104 3.2.2 DirectSound缓冲区对象 107 3.2.3 使用WAV数据 114 3.2.4 使用音效 116 3.3 开发环境配置 118 3.3.1 Visual C++基本开发环境配置 119 3.3.2...

    Visual C++音频视频处理技术及工程实践(分卷7)

    3.2 DirectSound的详细使用方法 103 3.2.1 DirectSound设备对象 104 3.2.2 DirectSound缓冲区对象 107 3.2.3 使用WAV数据 114 3.2.4 使用音效 116 3.3 开发环境配置 118 3.3.1 Visual C++基本开发环境配置 119 3.3.2...

    Visual C++音频视频处理技术及工程实践(分卷6)

    3.2 DirectSound的详细使用方法 103 3.2.1 DirectSound设备对象 104 3.2.2 DirectSound缓冲区对象 107 3.2.3 使用WAV数据 114 3.2.4 使用音效 116 3.3 开发环境配置 118 3.3.1 Visual C++基本开发环境配置 119 3.3.2...

Global site tag (gtag.js) - Google Analytics