【问题标题】:Transrate RedHawk StartUp Python program to C++ Program将 RedHawk StartUp Python 程序翻译成 C++ 程序
【发布时间】:2017-12-21 01:05:13
【问题描述】:

我之前询问过“关于编写C++ RedHawk 启动程序”,但是即使我阅读了CORBA 规范,我也无法建立从波形和RedHawk 的域搜索启动应用程序的方法。我认为通过将RedHawk中打​​包的Python程序改写成C++,可以创建一个C++启动程序。思维方式合适吗? 即使我删除了 Python 并缩小了图像大小,除非我能从自己的 CPU 开始,否则我无法理解。我什至想教方向。

【问题讨论】:

    标签: redhawksdr


    【解决方案1】:

    吉田..你一直很坚持,但你需要挖掘核心框架源代码才能学习如何做你想做的事。查看链接的方法here

    void DeviceManager_impl::getDomainManagerReference (const std::string& domainManagerName)
    

    尝试找到一种方法来获取域by its name 的引用。然后,您将拥有可用的域方法以启动应用程序。拥有域/设备/资源的CORBA::Object_ptr,您可以使用_narrow() 方法获得它的引用。对于域,您将可以访问以下方法:

    createApplication
    installApplication
    uninstallApplication
    deviceManagers
    applications
    

    这应该足以解决您的问题。

    【讨论】:

    • 感谢您的建议。我认为我需要挖掘核心框架源代码......但是,每个域/设备/资源/应用程序类在ossie/CF/cf.h中都有存根代码。在 ossie/CF/cf.h 中使用对象引用调用。这种方法正确吗?我可以在不挖掘核心框架源代码的情况下做到这一点吗?
    • 当我告诉你“挖掘”时,我的意思是你可能会通过研究核心框架实现学到很多东西。我不明白你的问题。此头文件中有类定义。但是您打算如何获取nodeBooter 启动的域的引用?
    • 你是对的。我在想如何获取由 nodeBooter 启动的域的引用。在这种情况下,头文件中的类就无法使用了……我很难看懂core-framework源代码。好吧,我会尽力而为。
    猜你喜欢
    • 2016-02-10
    • 2014-05-31
    • 1970-01-01
    • 1970-01-01
    • 2017-08-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    相关资源
    最近更新 更多