如何为mingw32指定dll onload函数?
我可以使用 mingw 正确编译 DLL 并执行导出/导入操作。我正在寻找的是正确定义 dll onload 函数,就像在 MS VC 产品中一样。谷歌没有发现任何东西。有人有任何想法或教程链接吗?
I can compile DLLs properly using mingw and do the exports/imports stuff. What I am looking for is defining the dll onload function properly as you would in MS VC products. Google didn't turn up anything. Anyone have any ideas or a link to a tutorial?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
好吧,经过一番摆弄之后……它起作用了。对于任何其他在这里遇到问题的人来说都是如此。我的问题与编译而不是动态加载无关。这是一些教程/问题/操作方法的混搭,让我走到了这一步。
dll.c
dll.h
hello.c
编译时使用
<代码>
产生的预期输出
<代码>
Okay, so after some fiddling...it's working. For anyone else that is having issues here it is. My issues weren't related to compiling in instead of loading dynamically. It was a mash-up of a couple of tutorial/question/how-tos that got me to this point.
dll.c
dll.h
hello.c
when compiled with
produces the expected output of
由于 mingw 只是 GCC 和相关工具的 Windows 端口,因此您可以使用 GCC 构造函数和析构函数属性。它们适用于共享库和静态库,并分别在 main 运行之前和之后执行代码。此外,您可以为每个库指定多个构造函数和析构函数。
Since mingw is just a windows port of GCC and associated tools, you can use GCC constructor and destructor attributes. These work for both shared and static libraries, and execute code before and after main is run, respectively. Additionally, you can specify multiple constructor and destructor functions per library.