以下终端命令将编译并链接linux中的.c和.s文件
rm *.o
gcc -c printS.c -o printS.o
as lab8.S -o lab8.o
gcc lab8.o printS.o -o lab8test
我从来没有写过一个make文件,我认为这样的东西值得一试。任何帮助表示赞赏。
答案 0 :(得分:1)
与制作任何make文件的方式相同。我相信那里有很多例子和网页。
printS.o : printS.c
gcc -c printS.c -o printS.o
所以
clean :
rm -f *.o
rm -f lab8test
为您正在使用的每个命令制定规则。我建议你把最后一个放在第一位,这样如果你在make
上没有命令行选项就是默认值也
int b[1000];
int i;
for (i = 0; i < 1001; i++) {
b[i] = i + 352 ;
} //put values into array
int n = sizeof b / sizeof b[0];
clock_t start = clock();
merge_sort(b, n);
clock_t end = clock();
double elapsed1 = ((end - start) / CLOCKS_PER_SEC);// seconds elapse
printf("Time elapsed for merge 1000: %f\n", elapsed1);
覆盖清理(清理干净)
这是一种非常简单的方法。从那里你可以挖掘各种(使程序特定,gnu make vs others)特殊字符,这意味着要制定更复杂的规则。