C++;板上嵌入式系统 我试图在我们的嵌入式系统上移植一个C++语言库。嵌入式系统是在ARM平台上用C语言编写的。我一直在想我有可能做到这一点。C++编程语言比C.复杂得多。 < C++库是否要求环境正常运行?如果我这样做,我可能会遇到的问题 C++的OOP模型需要特殊的内存管理系统。[新建、删除、智能指针] 在我看来,C++的异常处理是一种神话。据我所知,WinCE的C++异常处理需要ARM核/内核的支持。 其他功能,例如运行时类型信息
你能和我分享一些经验吗。非常感谢。 < P>从你的问题中,你不知道你是否尝试将端口(即重写C++程序到C一)或只是在嵌入式环境中运行C++程序,因此(几乎)不改变它。如果是#1,你就应该动动脑筋。那里没有任何麻烦(除了需要很长时间…),如果发生#2也不容易。需要考虑的事情(我假设您使用gnu工具链或从中派生出来的工具链,如果没有-我只是不知道事情是如何发生的)C++;板上嵌入式系统 我试图在我们的嵌入式系统上移植一个C++语言库。嵌入式系统是在ARM平台上用C语言编写的。我一直在想我有可能做到这一点。C++编程语言比C.复杂得多。 < C++库是否要求环境正常运行?如果我这样做,我可能会遇到的问题 C++的OOP模型需要特殊的内存管理系统。[新建、删除、智能指针] 在我看来,C++的异常处理是一种神话。据我所知,WinCE的C++异常处理需要ARM核/内核的支持。 其他功能,例如运行时类型信息,c++,arm,rtos,C++,Arm,Rtos,你能和我分享一些经验吗。非常感谢。 < P>从你的问题中,你不知道你是否尝试将端口(即重写C++程序到C一)或只是在嵌入式环境中运行C++程序,因此(几乎)不改变它。如果是#1,你就应该动动脑筋。那里没有任何麻烦(除了需要很长时间…),如果发生#2也不容易。需要考虑的事情(我假设您使用gnu工具链或从中派生出来的工具链,如果没有-我只是不知道事情是如何发生的) 你们有可以这样做的装载机吗?也就是说,模板符号应该以一种特殊的方式进行处理(它们很弱),但只有在使用一些dyld(动态库)时,它才会困
- 你们有可以这样做的装载机吗?也就是说,模板符号应该以一种特殊的方式进行处理(它们很弱),但只有在使用一些dyld(动态库)时,它才会困扰您。加载程序应该能够调用全局构造函数和析构函数。异常解除信息的加载也应由it处理。值得一看的是:
关于以上这些问题的思考,我决定,对于我自己的裸露金属臂项目,C++太多,并且力在C.
取决于你的库,但是在嵌入式平台上,你通常关闭RTTI和异常处理。C++通常需要内存分配器,通常以MALOC的形式实现。如果是其他内容,则必须提供默认的overator new和operator delete实现。编译器将处理其余部分。
您需要用C语言编写这个库吗?或者你只需要编译它并提供一个C API来进行通信吗?你的编译器是怎么说的?是的,你可以和它“通信”,但是如何呢?图书馆必须在你的系统中运行,对吗?例如,在RTOS中,我们是否可以将此库添加到要与之通信的任务中?我们尚未获得此库,但他们正在寻求可能性,我们正在研究此问题。坦率地说,如果C编译器/链接器提供正确的/导出的接口(避免C++名称Mangle),我认为C编译器/链接器将不会有太多的麻烦。我关心的是,问题出现在运行时。