Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 链接器脚本中*(.data)、*(.data*)和*(.data.*)之间的差异_C_Gcc_Linker_Ld - Fatal编程技术网

C 链接器脚本中*(.data)、*(.data*)和*(.data.*)之间的差异

C 链接器脚本中*(.data)、*(.data*)和*(.data.*)之间的差异,c,gcc,linker,ld,C,Gcc,Linker,Ld,只是想知道链接器脚本中这些结构(对于文本、数据、rodata、bss等)之间的区别: .data : { *(.data) } .data : { *(.data*) } .data : { *(.data.*) } 在所有情况下,我们都从所有对象文件中收集数据部分,但关键在于细节 快速测试表明映射文件中的地址不同,进而影响可执行文件的大小 我试图在ld中查找信息,但什么也没找到(或者就是找不到) 我想这应该是非常简单的事情(所谓的显而易见) 任何想法都将受到高

只是想知道链接器脚本中这些结构(对于文本数据rodatabss等)之间的区别:

.data :
{
    *(.data)
}


.data :
{
    *(.data*)
}


.data :
{
    *(.data.*)
}
在所有情况下,我们都从所有对象文件中收集数据部分,但关键在于细节

快速测试表明映射文件中的地址不同,进而影响可执行文件的大小

我试图在ld中查找信息,但什么也没找到(或者就是找不到)

我想这应该是非常简单的事情(所谓的显而易见)


任何想法都将受到高度赞赏。

在任何可以使用特定文件或节名的地方,也可以使用通配符模式

它就像一个规则的模式

  • *(.data)
    -.data节,示例:
    .data
  • *(.data*)
    -.data*部分,示例:
    .dataTEST
  • *(.data.*)
    -.data.*部分,示例:
    .data.TEST

我想下一个问题应该是如何正确阅读文档)。谢谢。