2010-09-28 95 views
1

我正在製作一個遊戲,允許開發內容,我希望它是基於DLL的系統。但是,我的遊戲適用於Linux(X86 arch),Mac OSX和32位Windows。有沒有一種方法可以讓內容開發人員只編譯一個東西,並基於該平臺進行工作?我擔心如果每個插件有3個版本,它可能會引起混淆。我能做什麼?插件系統沒有爲每個操作系統重建?

感謝

+5

什麼毛病平臺indenpendent腳本語言? Lua,Python?那種事?他們使用C++。他們的插件?他們有可能嗎? – 2010-09-28 23:05:53

回答

8

您可以決定使用一個跨平臺的腳本環境,比如針對的Lua插件。這實際上是大多數跨平臺遊戲所做的。

0

除非事情自從我上次查看跨平臺開發之後發生了巨大變化,如果您使用的是c/C++,則需要編譯和鏈接您要執行的操作系統。

所以如果你想在3個操作系統上運行,你需要3個二進制文件。

+0

您也可以選擇開發源代碼並在用戶系統上調用編譯器,但在Windows上運行GCC並不適用,除非您使用該應用程序發佈GCC。 – 2010-09-28 23:09:17

3

如果您需要C或C++插件,您可以使用LLVM作爲中間層。有插件開發船LLVM程序集/字節碼,並使用LLVM的運行時代碼發射來加載時將其編譯爲本機代碼。

0

不是例如。 XFree86的和/或Xorg的驅動程序(視頻?還是別的什麼?)

「跨操作系統」,所以他們可以一旦建成,並在任何操作系統上,至少在同一個CPU上「跑」 ......

不知道如何工作......某種虛擬機可能?

可能是矯枉過正...但絕對有可能.....