C 如何从主函数调用dll文件?

C 如何从主函数调用dll文件?,c,visual-c++,dllexport,C,Visual C++,Dllexport,我有两个函数处理main.cpp文件中的字符串并返回bool结果 我使用kmp.h和kmp.cpp文件创建执行项目的dll文件。[此文件包含处理main.cpp中字符串的函数定义] 如何将此执行生成的dll文件用于main.cpp文件?因此,我可以直接从main.cpp传递字符串,并按我在kmp.cpp文件中编码的那样返回我的输出?您需要将kmp库与主程序链接起来。kmp.dll不应包含main,因为它只是一个库,而是main.cpp可以调用的函数,用于执行所需的操作。您需要告诉IDE链接到您的

我有两个函数处理main.cpp文件中的字符串并返回bool结果

我使用kmp.h和kmp.cpp文件创建执行项目的dll文件。[此文件包含处理main.cpp中字符串的函数定义]


如何将此执行生成的dll文件用于main.cpp文件?因此,我可以直接从main.cpp传递字符串,并按我在kmp.cpp文件中编码的那样返回我的输出?

您需要将kmp库与主程序链接起来。kmp.dll不应包含main,因为它只是一个库,而是main.cpp可以调用的函数,用于执行所需的操作。您需要告诉IDE链接到您的kmp库,并在main.cpp的顶部包含您的kmp头文件。您可以只使用包含的头进行编译,但需要链接dll才能实际使用可执行文件。

不要以文件/翻译为单位进行思考。考虑类、函数等。您可以只导入库的头文件,然后像在任何情况下一样使用该类。生成的对象文件是程序编译的输出,需要与DLL链接。我建议你用谷歌搜索“C++编译步骤”,这样你就能理解为什么会发生什么,以及它是如何工作的。”…链接到DLL。“VC链接到所谓的导入库,而不是DLL本身。谢谢wolf-你能告诉我如何将DLL链接到main.cpp吗?如何链接它取决于你使用的环境。如果它的Visual C++在Windows中,我很抱歉地说我很无能…这可能是有帮助的,我只是Google VisualC++链接DLL,这是第一个结果: