我希望听到各种意见,如何在关键任务的实时应用程序中安全地使用C++。
更准确地说,可能可以创建一些宏/模板/类库以进行安全数据操作(封闭溢出、零除产生无穷大值或仅对特殊“非零”数据类型进行除法),带有边界检查和foreach循环的数组,安全智能指针(类似于boost shared_ptr),甚至是安全的多线程/分布式模型(消息传递和轻量级进程,比如Erlang语言中定义的那些)。
然后,我们禁止一些危险的C/C++构造,例如原始指针、某些原始类型、本机“new”运算符和本机C/C++数组(当然是针对应用程序员而不是库编写者)。理想情况下,我们应该创建一个特殊的预处理器/检查器,至少必须有一些正式的检查程序,可以通过某些工具或某些人手动应用于源代码。
所以,我的问题:
1)是否存在利用这种想法的现有库/项目?(嵌入式C++显然不是所需的类型)?
2)这是个好主意还是不好的主意?或者它只对原型设计另一种假设性语言有用?或者它完全无法使用?
3)关于这个问题的任何其他想法(或链接)也欢迎。
如果这个问题实际上不是一个问题、离题、重复等,我很抱歉,但我没有找到更合适的地方来问。