我开始学习Ada,是因为它有潜在的用于安全关键嵌入式设备的能力。到目前为止,我非常喜欢它。然而,在我对嵌入式编程的研究中,我遇到了一个热门话题,即是否应该在嵌入式系统中使用异常处理。我认为我理解了一些人似乎避免使用它的原因:
尽职调查:我有些困难找到精确了解 Ada 异常的确定性的方法,但我的理解是它们的原始实现要求更多的运行时开销以换取减少代码大小的影响(上面的第一个链接明确提到了 Ada)。除了上面的第一个链接,我还研究了提及代码确定性的配置文件,比如 Ravenscar 配置文件和this paper,但似乎没有提到异常处理的确定性。公平地说,我可能在错误的地方寻找,因为这个主题似乎非常深入。
- 根据其实现方式,它可能会引入运行时开销或更大的代码大小(在这里提到“实现”下)
- 执行异常所需的时间可能是不确定的(我看到的几个来源之一)
尽职调查:我有些困难找到精确了解 Ada 异常的确定性的方法,但我的理解是它们的原始实现要求更多的运行时开销以换取减少代码大小的影响(上面的第一个链接明确提到了 Ada)。除了上面的第一个链接,我还研究了提及代码确定性的配置文件,比如 Ravenscar 配置文件和this paper,但似乎没有提到异常处理的确定性。公平地说,我可能在错误的地方寻找,因为这个主题似乎非常深入。