gpt4 book ai didi

c++ - 使用 C++ 中的异步接口(interface)连接 Ada

转载 作者:太空狗 更新时间:2023-10-29 19:40:54 26 4
gpt4 key购买 nike

我的任务是为分布式应用程序(多个进程在一台计算机上运行,​​尚未物理分布)设计一个新界面,它由许多用 C++/OpenGL 编写的图形面板模块和一个用 C++/OpenGL 编写的模块组成艾达。

模块共享参数形式的信息(标量非结构化信息片段,例如:整数、字符串、 float 等)。我打算设计一个基于异步套接字的组件(我将在下文中称之为“接口(interface)组件”或 IC),由每个基于 Boost::Asio 库的模块与两个简单的“客户端”原语链接:

Put([ParameterName], [DestinationModule], [Payload], [Type])
Get([ParameterName], [Sourcemodule], [Payload])

ParameterName:指定唯一的参数名称
DestinationModule/SourceModule:寻址系统中的一个模块
Payload:实际数据
类型:标识传递参数类型的字符串或值

这些原语中的每一个都在服务器端由两个相应的函数(在 IC 上)处理:

//No function parameters shown here as I don't know
//exactly how I'm going to do this
ProcessPutRequest()
ProcessGetRequest()

因为传入命令的处理将由 IC 启动,我打算使用将传递给上述函数的函数处理程序。这样,负责每个模块的每个程序员都可以处理传入的命令并对自己的代码执行必要的类型转换。

问题是……这在 Ada 中可能吗?我知道可以在 C++ 中导入函数并从 Ada 程序中调用它 btu 是否可以将函数处理程序从 Ada 传递到 C++ 组件?

(附带的问题是:您对实现此接口(interface)的更好方法有什么建议吗?)

最佳答案

编写基于套接字的通信在两种语言中都很简单,尤其是对于只需要传递标量值的接口(interface)。

为模块创建单独的适合语言的组件将比尝试使这种混合语言接口(interface)和链接工作更容易和更快。不要误会我的意思,这是可以做到的,但我需要一个令人信服的理由才能让我这样做,而不是编写单独的、简单的套接字数据处理接口(interface)。

关于c++ - 使用 C++ 中的异步接口(interface)连接 Ada,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7826507/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com