小编Kin*_*wah的帖子

GNU可以作为汇编文件(.s)中的流程结构和函数原型吗?

我们知道,汇编文件(.S)会在汇编之前进行预处理,但我发现在预处理之后,生成的汇编文件中可能会有结构/函数原型,gnu如何处理这些原型?刚忽略了吗?

例如,以下命令:

gcc -E -o tmp.result arch/x86/boot/copy.S -Iinclude/-Iarch/x86/include /

生成的程序集文件(tmp.result)是:

# 1 "arch/x86/boot/copy.S"                                                                                                                                                                   
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "arch/x86/boot/copy.S"
# 11 "arch/x86/boot/copy.S"
# 1 "include/linux/linkage.h" 1
# 1 "include/linux/compiler.h" 1
# 5 "include/linux/linkage.h" 2
# 1 "include/linux/stringify.h" 1
# 6 "include/linux/linkage.h" 2
# 1 "include/linux/export.h" 1
# 26 "include/linux/export.h"
struct kernel_symbol
{
 unsigned long value;
 const char *name;
};
# 7 "include/linux/linkage.h" 2
# 1 "arch/x86/include/asm/linkage.h" 1
# 8 "include/linux/linkage.h" 2
# 12 "arch/x86/boot/copy.S" 2
.code16
.text …
Run Code Online (Sandbox Code Playgroud)

assembly gcc

5
推荐指数
1
解决办法
195
查看次数

标签 统计

assembly ×1

gcc ×1