use*_*672 7 c++ embedded real-time
我想听听各种意见如何在关键任务实时应用程序中安全地使用c ++.
更确切地说,可能可以创建一些宏/模板/类库来进行安全数据操作(密封溢出,zerodivides产生无穷大值或仅对特殊的"非零"数据类型进行除法),具有绑定检查和foreach循环的数组,安全的智能指针(例如类似于boost shared_ptr)甚至安全的多线程/分布式模型(消息传递和轻量级进程,如在Erlang语言中定义的).
然后我们禁止一些危险的c/c ++构造,如原始指针,一些原始类型,本机"新"操作符和本机c/c ++数组(对于应用程序员,当然不是库编写者).理想情况下,我们应该创建一个特殊的预处理器/检查器,至少我们必须有一些正式的检查程序,可以使用某些工具或某些人手动应用于源.
所以,我的问题:
1)是否有任何现有的图书馆/项目利用这样的想法?(嵌入式c ++显然不是理想的那种)?
2)这根本不是一个好主意吗?或者它可能只对原型化另一种时髦的语言有用吗?或者它完全无法使用?
3)关于此事的任何其他想法(或链接)也欢迎
对不起,如果这个问题实际上不是一个问题,offtopic,重复等,但我没有找到更合适的地方问它
有关如何为关键任务实时应用程序编写C++的良好规则,请参阅联合攻击战斗机编码标准.许多规则都基于MISRA C编码标准,我认为这些标准是专有的. PC-Lint是一个C++代码检查器,其规则集与您想要的一样(包括MISRA规则).我相信你也可以定制你自己的规则.