如何把自己写的动态链接库(.dll)卖给别人?

来源:互联网 发布:唐七抄袭 知乎 编辑:程序博客网 时间:2024/06/09 19:44

        很久以前, 我卖过静态链接库。 过了一年多了, 我才来卖动态链接库。 自己动手, 丰衣足食。


        这次我就不截图了。下面来写动态链接库。

        开启VC++6.0, 点击File, 点击New,  进入Projects页签, 选的倒数第二个Win32 Dynamic-Link Library. Project Name填写Test, 在Location中选择这个工程的保存路径。点击OK, 点击Finish, 点击OK. 动态库的工程创建完毕。

      在工程中加入myDLL.cpp和myDLL.h, 然后在其中分别输入:


myDLL.cpp

#include "myDLL.h"int myMax(int x, int y){return x > y ? x : y;}


myDLL.h

_declspec(dllimport) int myMax(int x, int y);


     点击编译并连接, 可以看到生成了Test.dll和Test.lib, 其中Test.dll就是我们需要的动态链接库, Test.lib并不是静态链接库, 而是动态链接库的引入库,它的作用是告诉别人(别的程序)怎么来链接Test.dll.


      下面, 我们编写控制台程序test.cpp(会生成test.exe):

#include <stdio.h>#include "myDLL.h"#pragma comment(lib, "Test.lib")int main(){int a = 100;int b = 99;int c = myMax(a, b);printf("%d\n", c);return 0;}
      请将上面创建好的Test.dll和Test.lib拷贝到控制台程序对应的当前工程的所在目录, 并且把myDLL.h添加到工程中(最好是先拷贝到工作目录下, 然后添加到工程中)。 编译, 链接并运行上面的程序, 得到的结果是:

100


      好, 到此为止, 我们讲述了动态链接库的制作和使用。 在我们制作了动态链接库后, 我们应该怎样卖给别人呢? 我们需要提供myMax.h,Test.dll和Test.lib, 三者缺一不可, 否则别人又要回头找我们卖家的麻烦。 好了, 买家买了我们的三个文件后, 他便可以用了, 怎么用? 上面已经说了。 作为一个好的卖家, 可以写个操作文档啊。


     上面讲述了动态链接库的制作和使用, 过程比较简单。 但是, 再简单的过程, 也会反映深刻的道理。 那一年, 在某公司面试的时候, 被问到动态链接库了, 还好, 我基本能答上来。面试官说, 不在于写了多么复杂的动态链接库, 而在于写过, 知道是咋回事, 诚如斯言。


       懂了上述过程后, 我们算是入门了动态链接库了, 剩下的路, 还很长, 慢慢走。


       最后强调一点, 上面的test.exe程序不能单独运行, 你把test.exe复制到桌面, 然后点击运行, 肯定是不行的, 提示如下:



         明天还要上班(加班), 双倍money. 我尽量早点睡觉。



2 0
原创粉丝点击