嵌入式
分享:
此部分包括表示自己开发硬件或家居自动化解决方案的受访者的回复。
此图表包括在“您使用主要语言开发什么类型的软件?”问题上选择“硬件”或“家居自动化解决方案”的人所使用的语言。
47%
45%
C99
41%
34%
C11
16%
23%
C17
–
4%
C2x
30%
32%
Embedded C
10%
11%
不确定
3%
3%
其他
12%
6%
C++98/C++03
33%
28%
C++11
24%
27%
C++14
41%
48%
С++17
23%
37%
C++20
–
14%
С++23
12%
13%
不确定
Inbal Levi
MPGC Services Ltd (Millennium) 首席软件工程师
很高兴看到有很大一部分嵌入式开发者已经在使用 C++20 了。此版本扩展了编译时能力,这对于那些非常重视运行时性能的行业非常有利。我希望看到在未来的几年里,C++23 也有类似的采用率。
C++ | C | Rust | |
---|---|---|---|
34% | 34% | 47% | Visual Studio Code |
29% | 20% | 21% | CLion |
19% | 9% | 0% | Visual Studio |
– | – | 15% | IntelliJ IDEA |
6% | 14% | 8% | Vi/Vim |
2% | 4% | – | Eclipse CDT |
2% | 3% | 3% | Emacs |
1% | 3% | 1% | Sublime |
8% | 13% | 6% | 其他 |
35%
24%
GoogleTest
23%
–
我不为 C/C++ 编写单元测试
15%
6%
Catch
8%
4%
CppUnit
5%
4%
Boost.Test
Ivan Kravets
博士、发明家、PlatformIO Labs 首席执行官
嵌入式软件开发生态系统中越来越高的测试框架采用率是一个有希望的趋势,虽然目前仍有 20% 的开发者尚未使用。这种向测试驱动方式的转变标志着一个积极的方向,增强了嵌入式系统的可靠性和质量,也展示了业界交付稳健产品的承诺。
74%
59%
CMake
44%
45%
Makefile
27%
21%
Visual Studio 项目
26%
16%
Ninja
6%
–
Gradle
29%
24%
我使用系统软件包管理器
28%
–
库的源代码是我的构建的一部分
22%
–
我使用指令分别编译这些库
15%
–
我从网上下载预构建的库
13%
8%
vcpkg
8%
6%
NuGet
Ivan Kravets
博士、发明家、PlatformIO Labs 首席执行官
这项调查突出了嵌入式开发中一个令人担忧的趋势,许多开发者仍挣扎于管理第三方库的过时做法。采用声明式方式至关重要,因为它不仅可以减轻这种复杂性,还可以显著增强整体开发者体验。这可以更有效地处理多个库,最终加速嵌入式软件开发领域的进步。
81%
82%
GCC
50%
32%
Clang
31%
20%
MSVC
21%
43%
适用于微控制器的编译器
14%
–
Clang-cl
Ivan Kravets
博士、发明家、PlatformIO Labs 首席执行官
GCC 编译器的压倒性偏好可归因于其开源特性、广泛的架构支持和强大的优化功能,这为开发者的嵌入式项目带来了灵活性和经济高效的解决方案。