我用的是VS2005,网络上面关于C++ 的DLL加载基本上都是VC6.0的东西
自己比较懒,看到那些代码和工程在VS2005上面用不上就有点望而却步了…………
最近打算找一个软件来分析bsp地图文件…………
结果没有找到很好软件,本来想反编译一个java的程序看看是怎么写的
不过失败…………,大概是用了混淆器吧
所有就开始硬着头皮打算写一个这样的分析器
拿着本C++游戏开发的书就搞上了
浏览过前面的基础,就碰到了DLL加载的问题
发现,在VC2005里面,工程里面的东西和VC6里面完全不是一个东西吗。。。
连那个选项都没有,我一时蒙了,没有办法只好看帮助…………
还好,在帮助里面找到了一个DllScreenCap的事例,不过对我来说有点复杂…………看不蛮懂
以前没有搞过windows编程
首先打开里面DLL工程的发现里面有系统生成的CPP和H文件没有任何的修改,也就是说
DLL里面来自定义类和函数,不需要对这些代码修改(赫赫~~当然这是对我所写的简单代码而言)
然后发现了,几个比较关键的代码和文件修改:
1、DllScreenCap.def,里面放入了几个需要导出的函数的名字
2、在调用程序DLL的代码中,包含了自己定义类的头文件(注意这里调用的不是系统自己生成的那个头文件,如果你调用那个头文件会报stdafx相关的错)
3、在头文件中包含了#pragma comment(lib, "DllScreenCap.lib"),我其实也不是很明白,我为什么还要这里开加载lib文件,应该说在附加资源的设置里面已经指向了那个目录
值得注意的应该就这么几点吧…………