【问题标题】:How do I write a Makefile to link C code with Arm assembly code?如何编写 Makefile 以将 C 代码与 Arm 汇编代码链接起来?
【发布时间】:2017-04-12 01:57:41
【问题描述】:

以下终端命令将在 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 文件,我认为这样的东西值得。任何帮助表示赞赏。

【问题讨论】:

标签: c assembly makefile arm


【解决方案1】:

与制作任何 make 文件的方式相同。我确信那里有大量的示例和网页。

ideally_the_result : dependencies
<tab>the commands
<tab>the commands
<tab>the commands

所以

printS.o : printS.c
    gcc -c printS.c -o printS.o

并为您使用的每个命令制定规则。我建议你把最后一个放在第一位,如果你在 make 上没有命令行选项,它是默认的

还有

clean : 
   rm -f *.o
   rm -f lab8test

覆盖清理(make clean)

这是一种超级简单的方法。从那里您可以深入研究各种(特定于程序、gnu make 与其他)特殊字符,这些字符意味着要制定更复杂的规则。

【讨论】:

  • 这很有帮助。有一些例子,但我只是不确定它在链接程序集文件时是否会有所不同。
  • 将 makefile 视为与编译或链接无关,它只是一种用于运行程序的脚本语言。程序可以是任何东西,不必与工具链相关。可以让程序解析执行 FFT 并创建 gnuplot 格式数据文件的音频文件,然后另一个规则获取数据文件并调用 gnuplot 生成 png。
猜你喜欢
  • 2011-07-20
  • 1970-01-01
  • 1970-01-01
  • 2018-09-03
  • 1970-01-01
  • 2012-07-06
  • 1970-01-01
  • 1970-01-01
  • 2011-06-03
相关资源
最近更新 更多