C语言 link 汇编语言

混合编程:C 语言 + 汇编语言。

环境配置

操作系统:Ubuntu 24.04.1 LTS

Assembler:NASM (课内主要使用 MASM,有些许不同,见下表)

代码编辑

main.c

gcd.asm

编译链接

  1. 编译 C 文件为目标文件 main.o
1
gcc -c -o main.o main.c
  1. 编译汇编文件为目标文件 gcd.o
1
nasm -f elf64 -o gcd.o gcd.asm
  1. 链接 main.o 和 gcd.o 生成可执行文件 pro
1
gcc -o pro main.o gcd.o -z noexecstack

实现结果

upd:反汇编

可以用 gcc 自带的 objdump 工具轻松实现反汇编。