【发布时间】:2011-02-28 19:37:59
【问题描述】:
我正在为嵌入式 Linux (ARM) 开发应用程序。它将执行 500 次/秒,因此速度很重要。我更喜欢使用 C++,但我担心它会比 C 慢,即使我避免使用像虚函数这样的花哨功能。 是否有使用 C 的理由,或者用 C++ 编写也一样好?
【问题讨论】:
-
虚拟功能不是您应该避免的事情之一。在 C 中手动实现相同的功能不会比编译器生成的版本快,并且 C++ 编译器擅长在不需要时将其优化掉。
-
@Martin 说得对。虚函数只需要调用一两条指令,如果这确实是你需要的,那么无论如何你都必须在 C 中这样做。
-
这里有一些有趣的相关阅读:stackoverflow.com/questions/2039444/…
-
尝试 C 和 C++,然后在嵌入式设备上测量生成的二进制文件。如果您不想编写应用程序的 2 个版本,只需使用您更熟悉的语言 (C++)。
标签: c++ c performance embedded-linux