2

这里开始,ac宏中的含义.和含义是什么?*

583 #define INITCALLS                                                       \
584         *(.initcallearly.init)                                          \
585         VMLINUX_SYMBOL(__early_initcall_end) = .;                       \
586         *(.initcall0.init)                                              \
587         *(.initcall0s.init)                                             \
588         *(.initcall1.init)                                              \
589         *(.initcall1s.init)                                             \
590         *(.initcall2.init)                                              \
591         *(.initcall2s.init)                                             \
592         *(.initcall3.init)                                              \
593         *(.initcall3s.init)                                             \
594         *(.initcall4.init)                                              \
595         *(.initcall4s.init)                                             \
596         *(.initcall5.init)                                              \
597         *(.initcall5s.init)                                             \
598         *(.initcallrootfs.init)                                         \
599         *(.initcall6.init)                                              \
600         *(.initcall6s.init)                                             \
601         *(.initcall7.init)                                              \
602         *(.initcall7s.init)
603 
4

1 回答 1

5

它是一个链接器脚本。节的合并和放置由链接器完成。程序员可以通过链接描述文件控制这些部分的合并方式以及它们在内存中的位置。你提到的文件就是这样做的。

.(dot) 指的是链接部分,并且使用通配符 * 而不是单独指定包含相同命名链接部分的多个文件名。

参考:http: //sources.redhat.com/binutils/docs-2.10/ld_3.html

于 2012-10-14T13:32:37.080 回答