gpt4 book ai didi

c++ - 关键任务实时应用程序中的安全 C++

转载 作者:可可西里 更新时间:2023-11-01 18:22:16 29 4
gpt4 key购买 nike

我想听听各种意见,了解如何在关键任务实时应用程序中安全地使用 C++。

更准确地说,可能会创建一些用于安全数据操作的宏/模板/类库(对溢出进行密封,zerodivides 产生无穷大值或除法仅适用于特殊的“非零”数据类型),具有边界检查的数组和 foreach 循环、安全的智能指针(例如类似于 boost shared_ptr),甚至安全的多线程/分布式模型(消息传递和轻量级进程,类似的在 Erlang 语言中定义)。

然后我们禁止一些危险的 c/c++ 构造,例如原始指针、某些原始类型、 native “new”运算符和 native c/c++ 数组(当然是针对应用程序程序员,而不是库编写者)。理想情况下,我们应该创建一个特殊的预处理器/检查器,至少我们必须有一些正式的检查程序,可以使用某种工具或某些人手动将其应用于源。

所以,我的问题:

1) 是否有任何现有的库/项目利用了这种想法? (嵌入式 C++ 显然不是理想的类型)?

2) 这到底是不是个好主意?或者它可能只对制作另一种假设语言的原型(prototype)有用?还是完全无法使用?

3) 也欢迎关于此事的任何其他想法(或链接)

很抱歉,如果这个问题实际上不是问题、题外话、重复问题等,但我还没有找到更合适的地方问它

最佳答案

有关如何为关键任务实时应用程序编写 C++ 的良好规则,请查看 Joint Strike Fighter coding standards .许多规则都基于 MISRA C coding standards ,我认为这是专有的。 PC-Lint是一个 C++ 代码检查器,具有您想要的规则集(包括 MISRA 规则)。我相信您也可以自定义自己的规则。

关于c++ - 关键任务实时应用程序中的安全 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3467716/

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