目前需要测试模拟器的性能,而又只能获得speccpu2000中benchmarks的源码。别无选择,只有自己手动编译,原以为写个简单的makefile和一个运行自动编译的shell脚本,能很快解决问题!真正实现的时候,才发现存在很多移植和编译选项设置问题(当然这些在benchmark的docs目录下有部分说明,你可以去查看)。
开始之前确保你的系统有:
一份speccpu2000的benchmarks源码
GNU gcc 编译器
文本浏览器(出错的时候可以查看源码,推荐Kscope,其跟windows source insight类似)
GNU gcc 简介
作为自由软件的旗舰项目,Richard Stallman 在十多年前刚开始写作 GCC 的时候,还只是把它当作仅仅一个 C 语言的编译器;GCC 的意思也只是 GNU C Compiler 而已。经过了这么多年的发展,GCC 已经不仅仅能支持 C 语言;它现在还支持 Ada 语言、C++ 语言、Java 语言、Objective C 语言、Pascal 语言、Fortran等,以及支持数式编程和逻辑编程的 Mercury 语言,等等。而 GCC 也不再单只是 GNU C 语言编译器的意思了,而是变成了GNUCompiler Collection 也即是 GNU 编译器家族的意思了。另一方面,说到 GCC 对于各种硬件平台的支持,概括起来就是一句话:无所不在。几乎所有有点实际用途的硬件平台,甚至包括有些不那么有实际用途的硬件平台。
gcc 的几个前端
gcc认为预处理后的文件(.i)是C文件,并且设定C形式的连接
-
g++
认为预处理后的文件
(.i)
是
C++
文件