我正在使用缓存模拟器,而执行时我收到以下错误。 我正在使用Ubuntu终端执行该程序。 我不明白错误的问题,因为我有所有其他文件映射到主程序。
我是否需要将程序的路径设置为任何目录来执行它们?
首先,为了给予权限,我执行了以下命令,以便我不会得到"权限错误"
enter code here
chmodx +x ./csim.c
然后我执行了以下命令以执行最终程序
enter code here
./csim.c [-hv] -s 5 -E 1 -b 5 -t traces/long.trace
输出终端错误
./csim.c: line 1: /bin: Is a directory
./csim.c: line 2: cachelab.c: command not found
./csim.c: line 3: cachelab.c: command not found
./csim.c: line 4: cachelab.c: command not found
./csim.c: line 5: cachelab.c: command not found
./csim.c: line 6: cachelab.c: command not found
./csim.c: line 7: cachelab.c: command not found
./csim.c: line 8: cachelab.c: command not found
./csim.c: line 9: cachelab.c: command not found
./csim.c: line 10: cachelab.c: command not found
./csim.c: line 11: traces/: Is a directory
我该如何解决这个问题?
答案 0 :(得分:0)
您正在尝试执行C源代码文件,shell将其解释为shell脚本,因为您已将其设置为“可执行”模式。
首先要做的是编译C文件,例如
cc csim.c -o csim
...然后运行生成的可执行程序。
./csim [-hv] -s 5 -E 1 -b 5 -t traces/long.trace