c语言怎么调用dll文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言怎么调用dll文件相关的知识,希望对你有一定的参考价值。

(1)编写程序时,你要包含(#include "什么.h") dll文件作者提供 的 头文件(.h文件) 。
程序里,便和普通函数调用一样,去调用它的函数。
(2)程序编译时,你要链接 dll文件作者提供 的 (.lib文件) 库文件。
当然,你可以在源程序里把.lib 名字 写上,编译时自动去链接,例子:
#pragma comment (lib, "什么.lib")
(3)执行时,要有 .dll 文件. 放在当前文件夹或系统文件夹里。
参考技术A 由于c的sdk编程的时候调用的api也应该是从dll中导出来的,这样c应该也是能调用dll的,c语言调用dll文件内部函数的方法如下:
1:用c调用一个加载器LOADER<可能是个api函数>;
2:加载目标dll,比如xx.dll
3:找到需要调用的函数的地址P_FUNC
4:调用FUNC即可

EXE执行文件如何调用DLL?

找到个OllyDBG可以反编和调试程序,用这个软件可以把DLL调用到EXE程序中去吗?这个DLL文件是网上下载的,是一个游戏但是不同版本的破解DLL,但游戏本身没有这个DLL文件,属于添加的。B版和C版已经有人做了破解的EXE,都可以调用这个DLL文件,那么A版我觉得也可以,我的想法是把DLL文件调用到A版的游戏执行文件中去,做一个A版的破解文件。但是我本身没有学过编程,有什么软件可以傻瓜式的调用DLL吗? 用OllyDBG可以吗?
最后声明一下,非挂马! 请高手指教。方法一定要详细。

1:新建安装部署项目 打开VS,点击新建项目,选择:其他项目类型->安装与部署->安装向导(安装项目也一样),然后点击确定.(详细见下图) 2:安装向导 关闭后打开安装向导,点击下一步,或者直接点击完成. 如下图: 3:开始制作 安装向导完成后即可进入项目文件夹: 双击"应用程序文件夹"在右边的空白处右击,选择添加->文件,将你的做的应用程序的可执行文件和相应的类库和组件添加进来. 然后右击你的可执行文件,创建快捷方式,然后把快捷方式分别剪切或复制到左边的"用户的'程序'菜单"和"用户桌面"中. 这样安装程序安装安装完成后会在 "开始->所有程序"和"桌面"上生成程序的快捷方式. 然后右击左边的"应用程序文件夹"打开属性对话框: 将属性中的"defaultlocation"的路径中的"[manufacturer]"去掉, 不然的话做好的安装程序默认安装目录会是"c:\programm file\你的用户名\安装解决方案名称"; 修改后如图: 然后打开解决方案管理器,右击你的解决方案名称,选择属性: 在打开的属性页中,选择"系统必备", 在打开的系统必备页中,选中如下中的选择项,这个很重要!!!!!1!!!!! 选上以后,在生成的安装文件包中包含.netframework组件.(这个选项默认是没有选中的) 好了,这样就完成99%了,然后点击"生成->生成解决方案",哈,生成成功! 4:制作完成 现在打开解决方案文件夹下的debug文件夹,就可以看到生成的安装文件了. 参考技术A dll 文件的结构平常的exe文件结构查不多的。

dll文件里面包含 重定向信息, 也就是说如果dll里面有一个函数。那么他有一个
函数名 1 : 地址1
函数名 2 : 地址2
。。。
等等
这样的结构,所以exe加载了dll文件以后,就可以根据上面那个结构找到你要调用的函数的地址,然后到实际的地址去执行就可以了。

你要知道的是
load_funciton();
如果load_funciton这个函数是dll中的,
这样的调用其实就是 等运行的时候,exe自动会把所有需要的dll配置好,就是把这些dll中函数的地址映射到exe文件中,这样你看起来就像处于一个文件当中一样。调用dll的函数和 exe里面的函数就查不多了。

不知道 你用的什么语言,c的话只要 dll工程声称的 头文件和lib文件,然后使用的时候把头文件和lib文件引用进来就可以了。

vb 的话,就要用 private declare lib 来定义吧

以上是关于c语言怎么调用dll文件的主要内容,如果未能解决你的问题,请参考以下文章

EXE执行文件如何调用DLL?

E语言怎么把DLL文件加入进去,并且可以写到指定目录。

其它语言如何调用c# DLL

dll文件如何用C语言生成

C语言怎么使用动态链接库,如何创建?(高手进)

Qt Creator开发Android程序 如何调用C语言的dll