C++ C++;-如何链接C++;资源?

C++ C++;-如何链接C++;资源?,c++,C++,我需要使用编译后的C++资源中的函数。 如何使用已编译资源中的函数,并让主程序使用我拥有的库 我有以下代码: log("INFO","THIS IS A TEST MESSAGE"); 这应该可以从我的文件中提取函数。此更新(旧答案已删除) 因为您已经详细说明了通过“插件”加载预编译代码的必要性。这通常通过一种称为“动态加载”的机制来完成。在Windows中,这是通过使用DLL(动态链接库)文件实现的。DLL文件是编译后的代码库,运行程序可按需“加载”。。正在运行的程序可以加载DLL并查询具有

我需要使用编译后的C++资源中的函数。 如何使用已编译资源中的函数,并让主程序使用我拥有的库

我有以下代码:

log("INFO","THIS IS A TEST MESSAGE");
这应该可以从我的文件中提取函数。此更新(旧答案已删除)

因为您已经详细说明了通过“插件”加载预编译代码的必要性。这通常通过一种称为“动态加载”的机制来完成。在Windows中,这是通过使用DLL(动态链接库)文件实现的。DLL文件是编译后的代码库,运行程序可按需“加载”。。正在运行的程序可以加载DLL并查询具有已知名称的函数指针的地址。例如,“日志”DLL可以导出“日志”函数。如果其他人想要提供一个替代实现(并且可以用某种配置文件中的程序注册到他们的DLL的路径),他们只需要提供自己的DLL,该DLL导出具有完全相同签名的同一组函数。还有一些被称为COM的用于加载(C++)接口的有用抽象,但我离题了

在Unix操作系统中,DLL的等价物称为“共享库”或“.so”文件

以下是一些相关链接:


标准C++没有“编译资源”的概念。如果你在VisualStudio中谈论资源,那是超出标准的东西,你必须自己处理这些问题。我不知道该怎么称呼它,我试图使用我在GCC或DEV-C++中编译的文件。使用另一个程序时,我必须使用哪些头文件的可能副本?如果我必须使用“windows.h”。Linux不能使用它吗?泰勒-欢迎来到堆栈溢出。提问是很受欢迎的,但是你需要非常清晰地表达你的问题,这样你才能得到正确的答案。您的问题是“编译资源”,这意味着您正在询问如何访问非代码对象。但在检查时,我们认为您实际上是在跨两个不同的源文件编译和链接代码。在进一步的查询之后,你真正谈论的是动态加载编译代码的插件,这在最初的问题中是完全不明显的。如果我的程序没有插件的源代码,我该怎么做?