除了Java语言,C#语言之外,C、C++语言是编译器类型最多的编程语言,有几十种编译器,这些编译器方言为研发SAST工具带来了巨大的工作量,很多产品由于无法适配客户的编译器,导致无法检测。下面我们罗列一下国外和国内对C、C++最强的SAST工具,支持的编译器数量。当然Cobot的优势在于使用了代码补齐技术,在编译不通过情况下,一样可以完成检测,而很多工具,编译不通过不能进行检测,或检测结果不具有可信性。
Coverity支持的编译器 |
1、Analog Devices Blackfin |
2、Analog Devices SHARC |
3、Analog Devices TigerSHARC |
4、ARM C/C++ |
5、Borland C++ |
6、CEVA-XC4500 |
7、Clang |
8、Cosmic C |
9、Freescale CodeWarrior |
10、GNU GCC、G++ |
11、Green Hills C/C++/EC++ |
12、HI-TECH PICC |
13、IAR C/C++ |
14、IBM AIX |
15、IBM XLC |
16、Intel C++ |
17、JDK far MAC OS X |
18、Keil compilers |
19、Marvell MSA |
20、MPLAB SC8 |
21、OpenJDK |
22、QNX C/C++ |
23、Renesas C/C++ |
24、SNC C/C++ |
25、SNC GNU C/C++ |
26、SONY PS4 SDK |
27、STMicroelectrpmocs GNU C/C++ |
28、STMicroelectronics STMicro C/C++ |
29、SUN(oracle) CC |
30、Sun(oracle) JDK |
31、Synopsys MetaWare C and C++ |
32、TASKING for ARM Cortex |
33、TI Code Composer |
34、Visual Studio |
35、Wind River C/C++ |
Cobot支持的编译器 |
GCC V1.03 |
iKer |
keil |
keil 166 |
keil 251 |
msvc 6 |
borland |
cosmica |
tasking251 |
vs 10 |
TI v7.4.8 |
MinGW |
vs 08 |
Tornado 2.2 |
除了标准的编译器之外,还有一些非标准的编译器。汽车行业碰到的非标准的编译器主要有:
clang、arm-none-eabi-gcc、xtensa-esp32-elf-c++ 、xtensa-esp32-elf-gcc、arm-gcc、green_hills、green_hills_ecom、qnxcc、qnxcpp、aarch64-unknown-nto-qnx7.0.0-gcc、cc、c++、arm-cortexa9_neon-linux-gnueabihf-gcc、aarch64-linux-gnu-gcc、arm-cortexa9_neon-linux-gnueabihf-g++、ccache、arm-cortexa9_neon-linux-gnueabihf-cc、arm-soft-linux-gnueabi-c++、arm-soft-linux-gnueabi-cpp、arm-soft-linux-gnueabi-gcc、rmcc:armcc、c++pentium
——————————————————————————————————(结束)