gpt4 book ai didi

c - 高效划分大功能

转载 作者:太空宇宙 更新时间:2023-11-04 05:56:24 26 4
gpt4 key购买 nike

我目前正致力于制定一项指南,以提高嵌入式系统领域基于模型的 C 编程的可测试性。

我遇到的第一件事是他们创建了非常大的(例如 4k 行)函数。对于测试问题,我建议将代码分成更小的部分。但是我发现了某种问题,现在想用最有效的方法来解决这个问题。

想象一下以前的 4k 行函数有,比如说 10 个局部变量。
现在我需要将这些变量传递给每个使用它们的函数。什么是最好的,也就是最有效的方法。

目前我有两个想法,都有一些缺点:

  1. 通过引用传递局部变量给需要它们的函数。我需要使用引用,因为许多函数会更改变量的某些内容。缺点:引用转到堆 -> 速度降低。
  2. 使本地人在文件级别可见。缺点:整体内存使用量更多,因为变量的生命周期更长。

是否有其他方法可以减少缺点?

最佳答案

如果整个 4,000 行函数在 10 个变量上都成功了,我想你可以算幸运了。

我会通过收集结构中的变量来清理它,该结构在第一个函数内实例化,然后通过传递指针与子函数共享。性能应该非常接近您的性能。

此外,C 中没有“引用”,使用该术语可能会造成混淆。

关于c - 高效划分大功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26776863/

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