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可以吗?
最后声明一下,非挂马! 请高手指教。方法一定要详细。
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文件的主要内容,如果未能解决你的问题,请参考以下文章