我正在为自动驾驶汽车编写C ++服务器。车上有一个摄像头和许多图像处理算法,以帮助它了解它的周围。
服务器需要能够从客户端接收图像处理算法(cpp文件和头文件),并运行该算法。
我的问题是,程序如何在运行时包含头文件(甚至可能)?
答案 0 :(得分:2)
不,在程序运行时不能包含头文件。您正在描述插件架构。 C ++不提供本机支持。
如果你真的想这样做,你面前有很多工作要做。您必须设计(或找到)允许即时加载的合适插件架构。您必须在该体系结构中实现所需的算法。您必须设计一种机制来识别所需的算法并加载它们。
当然,最好从静态架构开始并预先加载你能想到的每个算法,然后才能沿着这条路线前进?
答案 1 :(得分:0)
这是我的2美分..
1)手头有一个小小的c / c ++编译器[http://en.wikipedia.org/wiki/Tiny_C_Compiler]。 2)收到源文件后,以编程方式调用编译器并构建对象。 3)然后动态加载这些对象。