C 链接器脚本中*(.data)、*(.data*)和*(.data.*)之间的差异
只是想知道链接器脚本中这些结构(对于文本、数据、rodata、bss等)之间的区别:C 链接器脚本中*(.data)、*(.data*)和*(.data.*)之间的差异,c,gcc,linker,ld,C,Gcc,Linker,Ld,只是想知道链接器脚本中这些结构(对于文本、数据、rodata、bss等)之间的区别: .data : { *(.data) } .data : { *(.data*) } .data : { *(.data.*) } 在所有情况下,我们都从所有对象文件中收集数据部分,但关键在于细节 快速测试表明映射文件中的地址不同,进而影响可执行文件的大小 我试图在ld中查找信息,但什么也没找到(或者就是找不到) 我想这应该是非常简单的事情(所谓的显而易见) 任何想法都将受到高
.data :
{
*(.data)
}
.data :
{
*(.data*)
}
.data :
{
*(.data.*)
}
在所有情况下,我们都从所有对象文件中收集数据部分,但关键在于细节
快速测试表明映射文件中的地址不同,进而影响可执行文件的大小
我试图在ld中查找信息,但什么也没找到(或者就是找不到)
我想这应该是非常简单的事情(所谓的显而易见)
任何想法都将受到高度赞赏。在任何可以使用特定文件或节名的地方,也可以使用通配符模式 它就像一个规则的模式
-.data节,示例:*(.data)
.data
-.data*部分,示例:*(.data*)
.dataTEST
-.data.*部分,示例:*(.data.*)
.data.TEST
我想下一个问题应该是如何正确阅读文档)。谢谢。