什么是STT_FUNC类型汇编

问题描述:

我有以下的代码组装。但我不明白什么是STT_FUNC?什么是STT_FUNC类型汇编

.section .rodata 
    Lhello: 
     .asciz "Hello!" 

.section .text 
     .globl function1 
     .type function1, STT_FUNC 
function1: 
+2

这看起来像GNU'as'。你有没有试过阅读[文档](https://sourceware.org/binutils/docs/as/)? –

+0

这个问题怎么样?请澄清或删除标签。 – Yunnosch

+0

当编译器进行此操作时,您的编译器所针对的平台和目标文件格式是什么? –

documentation所示,该指令

.type function1,STT_FUNC 

也写入

.type function1,@function 

标记符号function1为具有符号类型STT_FUNC。由于仅为函数生成PLT条目,因此在动态链接时会有所不同。

它通常是,以正确标记你的符号是一个好主意:标记符号参照数据

.type some_variable,@object 

和符号指功能

.type some_function,@function 
+0

啊,我总是想知道什么符号类型的信息是除了调试。 –