C++ 不为每个操作系统重建插件系统?

C++ 不为每个操作系统重建插件系统?,c++,c,plugins,cross-platform,C++,C,Plugins,Cross Platform,我正在制作一个允许内容开发的游戏,我希望它是一个基于DLL的系统。但是,我的游戏适用于Linux(X86 arch)、MacOSX和32位Windows。有没有一种方法可以让内容开发人员只编译一件东西,并让它基于平台工作?我担心如果每个插件有3个版本,可能会让人困惑。我能做什么 谢谢您可以决定对插件使用像Lua这样的跨平台脚本环境。这基本上就是大多数跨平台游戏所做的。您可以决定使用Lua之类的跨平台脚本环境作为插件。这基本上就是大多数跨平台游戏所做的。除非自我上次研究跨平台开发以来情况发生了巨大

我正在制作一个允许内容开发的游戏,我希望它是一个基于DLL的系统。但是,我的游戏适用于Linux(X86 arch)、MacOSX和32位Windows。有没有一种方法可以让内容开发人员只编译一件东西,并让它基于平台工作?我担心如果每个插件有3个版本,可能会让人困惑。我能做什么


谢谢

您可以决定对插件使用像Lua这样的跨平台脚本环境。这基本上就是大多数跨平台游戏所做的。

您可以决定使用Lua之类的跨平台脚本环境作为插件。这基本上就是大多数跨平台游戏所做的。

除非自我上次研究跨平台开发以来情况发生了巨大变化,否则如果您使用的是c/c++,则需要编译并链接将要执行的操作系统


因此,如果您想在3个操作系统上运行,您需要3个二进制文件。

除非自我上次研究跨平台开发以来情况发生了巨大变化,否则如果您使用的是c/c++,您需要编译并链接要在其上执行的操作系统


<如果你想在3个操作系统上运行,你需要3个二进制文件。

如果你想要C或C++插件,你可以使用LLVM作为中间的。使用插件开发工具LLVM组件/字节码,并在加载时使用LLVM的运行时代码来将其编译成C++代码。

如果您想要C或C++插件,您可以使用LLVM作为中间层。让插件开发人员提供LLVM程序集/字节码,并在加载时使用LLVM的运行时代码将其编译为本机代码。

不是例如Xfree86和/或Xorg驱动程序(视频?或其他什么?)

“跨操作系统”,这样就可以构建一次并在任何操作系统上“运行”,至少在同一个CPU上

不知道这是怎么回事。。。可能是某种虚拟机


可能是杀伤力过大……但肯定有可能……

不是例如Xfree86和/或Xorg驱动程序(视频?或其他什么?)

“跨操作系统”,这样就可以构建一次并在任何操作系统上“运行”,至少在同一个CPU上

不知道这是怎么回事。。。可能是某种虚拟机


可能是杀伤力过大……但肯定有可能……

与平台无关的脚本语言有什么问题?Lua,Python?那种事?他们用C++工作。他们有插件吗?它们是可能的吗?与平台无关的脚本语言有什么问题?Lua,Python?那种事?他们用C++工作。他们有插件吗?它们是可能的吗?你也可以让开发人员提供源代码并在用户系统上调用编译器,但除非你将GCC与应用程序一起提供,否则在Windows上无法正常工作。你也可以让开发人员提供源代码并在用户系统上调用编译器,但是,除非你将GCC与应用程序一起发布,否则这在Windows上无法正常工作。