我正在尝试使用Simple
Scalar运行一个非常基本的代码来进行测试.这是我正在运行的代码:
#include<stdio.h>
main()
{
int x = 0;
for ( x = 0; x < 1000000; x++ ) {
}
printf("Hello World \n");
}
这些是我用来编译和运行带有simple-sim的程序到名为results的文件夹的行.
gcc sstest.c -o sstest
./sim-safe -redir:sim results/hello.sim.out -redir:prog
results/hello.prog.out sstest.
但是,程序输出为空,模拟器输出给出以下错误:
fatal: bad magic number in executable `sstest’ (not an executable)
我在这个过程中做错了吗?非常感谢你的帮助.我也使用Ubuntu作为操作系统,使用c作为编程语言.
最佳答案 可执行“sstest”错误消息中的错误幻数可能表示您的二进制文件与SimpleScaler不兼容.
您显示的编译器脚本:gcc sstest.c -o sstest用于创建普通二进制文件.没有任何关于应该导致编译失败或作为普通可执行文件运行的代码,但它不是使用SimpleScaler实用程序构建的.
从this SimpleScaler tutorial开始:
要创建SimpleScaler二进制文件,特别是使用GCC的C程序,您可以使用:
ssbig-na-sstrix-gcc -g -O -o foo foo.c -lm
从同一个链接开始,为了在程序构建后运行程序,您可以使用:
sim-safe [-sim opts] foo [-program opts]
这似乎遵循您在帖子中显示的内容的形式:
./sim-safe -redir:sim results/hello.sim.out -redir:prog results/hello.prog.out sstest.