C++到 IDL 工具
有没有可以将 C++ 代码转换为 idl 的免费工具?我正在考虑类似于java2idl的东西。
Are there any free tools that convert c++ code to idl? I am thinking of something similar to java2idl.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Java2idl 是一种特殊情况……它以字节码作为输入,因此它使用反射来决定类的外观,然后写出兼容的 IDL。由于 C++ 不容易支持反射,因此您需要一个源解析器/预处理器。
除了学生课堂项目之外,我从未遇到过免费的 IDL 生成器。大多数人需要走另一个方向...定义一个接口或类来在 C++ 和 CORBA 中实现,因此他们首先直接用 IDL 编写它。
如果您使用少量代码,请手动进行转换。如果数量很大,您将需要花钱购买工具或花时间编写自己的工具。您可以使用诸如 boost 序列化之类的方法进行自己的“反思”,以帮助自动分析您的结构(对象数据输入,IDL 布局输出)。
Java2idl is a special case...it takes byte code as input, so it's using reflection to decide what the class looks like, then writes out a compatible IDL. Since C++ doesn't easily support reflection, you need a source parser/preprocessor instead.
Other than student class projects, I have never run into free generators of IDL. Most people need to go the other direction...define an interface or class to implement in both C++ and CORBA, and so they directly write it in IDL first.
If you are working with small amounts of code, do the conversion by hand. If it's large amounts, you'll need to spend money on tools or time on writing your own. You could potentially do your own "reflection" using something like boost serialization to help automate analyzing your structures (object data in, IDL layout out).