Gnatbind 中的 C Binder 开关
C Binder Switch in Gnatbind
我在查看较新版本的 GNAT 工具时发现 Gnatbind 不再具有用于生成 C Binder 文件的开关“-C”。
混合语言环境是否不再需要此活页夹文件,或者它的功能是否已移至另一个开关?
混合语言项目与此无关。绑定是一个Ada-exclusive。 C 或 C++ 中没有绑定
AdaCore 选择删除此开关,因为:
- Ada 生成的代码就足够了(我们在它变得过时时删除了这个开关,所以我们切换到 Ada 绑定并且从未有过任何问题)
- 保留 "generate binding in C" 需要他们维护两个版本的活页夹生成代码。
- 这允许纯 Ada-compiled 程序。
而且您仍然可以在项目中混合使用 C/C++/Ada 源代码。仅当项目中有一些 Ada 源文件时才会发生绑定("Ada"
必须存在于 .gpr 文件的 Languages
部分并且至少也必须存在一个 Ada 源文件)
我在查看较新版本的 GNAT 工具时发现 Gnatbind 不再具有用于生成 C Binder 文件的开关“-C”。
混合语言环境是否不再需要此活页夹文件,或者它的功能是否已移至另一个开关?
混合语言项目与此无关。绑定是一个Ada-exclusive。 C 或 C++ 中没有绑定
AdaCore 选择删除此开关,因为:
- Ada 生成的代码就足够了(我们在它变得过时时删除了这个开关,所以我们切换到 Ada 绑定并且从未有过任何问题)
- 保留 "generate binding in C" 需要他们维护两个版本的活页夹生成代码。
- 这允许纯 Ada-compiled 程序。
而且您仍然可以在项目中混合使用 C/C++/Ada 源代码。仅当项目中有一些 Ada 源文件时才会发生绑定("Ada"
必须存在于 .gpr 文件的 Languages
部分并且至少也必须存在一个 Ada 源文件)