2016-04-29 82 views
0

嗨我想创建一个我的C程序的DLL,我的程序发送和接收消息到USB设备。我使用libusb1.0作为C程序的库。现在我想让我的程序变成一个dll以供其他程序使用,我无法想象如何导入或捆绑libusb的dll。在C DLL上使用C静态库(.lib)

因此,研究我的问题,我发现libusb提供了一个静态库,并且我已经看到了有关使用C++链接DLL上的静态库的文章。

所以我的问题是...是否有可能将静态库(.lib文件)链接到C环境中的动态链接库(.dll)?

P.S.如果可以的话,我可以问问链接/教程让我开始开发这个?

+0

搜索包装指南。通常会将[tag:c] .lib包装到例如[tag:C++] DLL中。 – LPs

回答

1

在Windows DLL中基本上只是一个特殊的入口点(的WinMainmainDllMain代替)一个正常的可执行文件,以及任何其他正常的可执行文件,您可以使用静态和动态库。

+0

有了这个概念,我的dll会调用静态库。那么,即使没有静态库在他们的终端,保证使用我的DLL的程序将工作? – pejobear

+0

@pejobear简化来说,静态库只不过是一个目标文件的集合。与静态库链接就像链接实际的目标文件。这也是静态库的一个重点,它们被静态链接到生成的可执行文件/ DLL中,它们成为可执行文件/ DLL的一部分。 –

+0

这很有道理。谢谢。 – pejobear