macOS程序集,无法使用str()命令

时间:2018-09-25 10:20:29

标签: macos assembly 64-bit nasm ld

我一直关注this tutorial,并停留在以下代码:leaq str(%rip), %rdi

我的完整汇编代码如下:

.data
.text
.globl _main
_main:
  pushq %rbp
  movq %rsp, %rbp
  subq $32, %rsp

  leaq str(%rip), %rdi
  callq _printf

我的Makefile:

build:
  as main.s -o main.o
  ld main.o -e _main -lc -macosx_version_min 10.13 -arch x86_64  -o main

run: build
  ./main

最后是命令make build的输出:

as main.s -o main.o
ld main.o -e _main -lc -macosx_version_min 10.13 -arch x86_64  -o main
Undefined symbols for architecture x86_64:
  "str", referenced from:
      _main in main.o
ld: symbol(s) not found for architecture x86_64
make: *** [build] Error 1

如何链接str命令以在macOS程序集中使用?

0 个答案:

没有答案