热点:

    C++动态链接库dll的编写与调用方法

      [   原创  ]   作者:
    收藏文章 暂无评论

    越来越多的编程爱好者倾向于创建自己的动态链接库,因其用途十分广泛。作为一名编程爱好者,掌握动态链接库的编写技巧至关重要,这是不可或缺的一部分。

    1、 启动VS2013,新建C++项目(非MFC),命名mydll。选择DLL类型,勾选导出符号,按图示完成设置。

    2、 此时,映入眼帘的是已默认初始化的代码,我们可以删去一些非必要的部分,那些内容仅作参考,实际编码时删除并无影响。

    3、 接下来,在mydll.h头文件中添加以下代码:

    4、 在mydll.cpp源文件中添加所示的功能实现代码:

    5、 现在代码已经简单写好了,接下来该如何编译生成.dll文件?

    6、 点击菜单栏生成中的生成 mydll选项,编译即可成功(切记,不要选择调试下的开始执行)。

    7、 接着,定位到工程目录路径,在DeBug文件夹中查找生成的mydll.dll文件(此刻是不是很兴奋?!O(∩_∩)O)

    8、 后面还有更关键的事等着!

    9、 重新构建一个C++控制台应用,用于测试编写好的dll是否能成功运行。

    10、 工程名称为test_mydll

    11、 新增一个.cpp源文件,加入以下代码:

    12、 请注意,需将mydll.dll放置于生成的.exe文件同一目录下。

    13、 全面规划未来

    14、 typedef int (*pGetMaxN)(int, int); 表示定义一个指向函数的指针类型,该函数接收两个int参数并返回int值。

    15、 通过代码实现dll的动态加载

    16、 {

    17、 }

    18、 获取函数 GetMaxNumber 的地址,用于后续调用操作。

    19、 获取函数 ShowMsg 的地址以便后续调用使用。

    20、 展示内容于标题之下。

    21、 请放行

    22、 测试成功!你是否感到无比激动?

    23、 需要注意的是,上述内容涉及动态加载dll的方式。也就是说,我们始终没有用到最初dll工程生成的mydll.lib文件!

    24、 目前,静态调用dll的方式也是可行的。只需将对应的.lib文件和.h头文件放置在与.cpp文件相同的目录中即可(请注意,这不是.dll文件,因此可以与.cpp文件放在同一目录下)。

    25、 之后,便可将之前动态调用的代码注释掉,添加新代码,具体情况请参考图示。

    26、 执行完毕!

    27、 编写dll至此基本完成,但要使动态链接库在其他平台也能调用,才算真正成功。

    28、 因此,我在此用易语言测试能否成功调用……

    29、 测试后,结果令人震惊:为何会出现这种错误?这里就不详细解释了……

    30、 既然如此,就必须找到解决办法!

    31、 我用depends载入dll查看,函数格式无误。问题究竟出在哪里?最终,我在原dll工程中添加了一个.def文件。

    32、 然后将这两个函数导出,重新编译即可。

    33、 细心的小伙伴可能会发现,我在头文件和源文件中额外加了_stdcall,这是调用约定,想了解详情请自行百度。

    34、 我再次将mydll.dll置于易语言源文件同一目录下,重新运行后终于成功。那么,在C++环境下是否也能调用成功?事实证明,完全可以实现调用。

    35、 只需稍作修改,并添加_stdcall即可。

    36、 实时更新动态

    37、 typedef int(_stdcall *pGetMaxN)(int, int); 定义了一种函数指针类型,用于指向特定签名的函数。

    38、 保持静止状态

    39、 这样运行同样能成功!

    40、 若DLL函数含_stdcall,必须将其添加到.def导出文件中,否则无法正常使用!

    41、 请注意,.def函数导出文件非常强大!

    42、 至此,一切已经结束。

    soft.zol.com.cn true https://soft.zol.com.cn/1000/10008249.html report 2595 越来越多的编程爱好者倾向于创建自己的动态链接库,因其用途十分广泛。作为一名编程爱好者,掌握动态链接库的编写技巧至关重要,这是不可或缺的一部分。 1、 启动VS2013,新建C++项目(非MFC),命名mydll。选择DLL类型,勾选导出符号,按图示完成设置。 2、 此时,映...
    不喜欢(0) 点个赞(0)
    随时随地资讯查报价 就上ZOL手机客户端,点击或扫描二维码下载
    立即下载

    DLL查看器

    更新时间:2011年12月14日

    用户评分:0 | 0人点评

    软件类型:免费软件

    软件语言:简体中文

    软件资讯文章推荐

    DLL查看器
    • 更新时间:2011年12月14日
    • 软件大小:0.1MB
    • 软件分类:DLL文件
    • 语言种类:简体中文
    • 软件评级:0 人点评