GDNative 是什么?¶
前言¶
GDNative 是 Godot 专有的技术,可以让引擎在运行时与原生共享库 <https://zh.wikipedia.org/zh-cn/%E5%87%BD%E5%BC%8F%E5%BA%AB#%E5%85%B1%E4%BA%AB%E5%BA%93>交互。你可以用它来运行原生代码,无需和引擎一同编译。
注解
GDNative 不是脚本语言,与 GDScript 无关。
GDNative 与 C++ 模块的区别¶
GDNative 和 C++ 模块都可以用于在 Godot 项目中执行 C 或 C++ 代码。
它们都可以用来将第三方库集成进 Godot。选用哪一个取决于你的需求。
GDNative 的优势¶
与模块不同,GDNative 不需要编译引擎的源码,可以使你的作品更易于分发。它可以让你访问 GDScript、C# 使用的大多数 API,让你在编写游戏逻辑时能够完全控制性能。这是你在素材库中以插件形式分发高性能代码的理想选择。
并且:
GDNative 并不仅限于 C 和 C++。得益于第三方绑定,你也可以在很多其他语言中使用。
你可以在编辑器和导出项目中使用相同的编译后的 GDNative 库。而对于 C++ 模块,如果你想在运行时使用相关功能,就必须重新编译所有想要使用的导出模板。
GDNative 只需编译你自己的库,而不是整个引擎。C++ 模块则与此不同,是会静态编译进引擎的。每修改一次模块,你就需要重新编译一次引擎。即使使用增量构建,这一过程也比 GDNative 要慢。