+ -
当前位置:首页 → 问答吧 → ubuntu环境下编译内核详解

ubuntu环境下编译内核详解

时间:2011-12-13

来源:互联网

我们知道 编译器在编译程序时 最终把程序的二进制文件最少分成三个段:
.text (放代码)

.data (放已初始化不为0的数据,占用二进制文件的大小 即使初始为0的数据扔然放在.bss只少在gcc上是如此)

.bss(放未初始化的数据,不占用二进制文件的大小,而是在加载程序运行时由系统为这个段分配内存空间,并把这片内存初始化为0)

现在我想如何让gcc把全局未初始化变量、结构体、数组的数据放在.data段中,分配空间 不是把它们放在.bss段中,而是直接在二进制文件中
除了在每个定义全局未初始化变量、结构体、数组的前面加上__attribute__((section(".data"))),还有没有全局的方法让gcc把所有全局未初始化
变量、结构体、数组的数据放在.data段中
先谢谢各位老师了!!这个问题很重要 在次真诚谢谢各位了!!

作者: pdlenovo   发布时间: 2011-12-13

高手们救救我吧 

作者: pdlenovo   发布时间: 2011-12-13

我们知道 编译器在编译程序时 最终把程序的二进制文件最少分成三个段:
.text (放代码)

.data (放已初始化不为0的数据,占用二进制文件的大小 即使初始为0的数据扔然放在.bss只少在gcc上是如此)

.bss(放未初始化的数据,不占用二进制文件的大小,而是在加载程序运行时由系统为这个段分配内存空间,并把这片内存初始化为0)

现在我想如何让gcc把全局未初始化变量、结构体、数组的数据放在.data段中,分配空间 不是把它们放在.bss段中,而是直接在二进制文件中
除了在每个定义全局未初始化变量、结构体、数组的前面加上__attribute__((section(".data"))),还有没有全局的方法让gcc把所有全局未初始化
变量、结构体、数组的数据放在.data段中
先谢谢各位老师了!!这个问题很重要 在次真诚谢谢各位了!!

作者: pdlenovo   发布时间: 2011-12-13

高手们救救我吧 

作者: pdlenovo   发布时间: 2011-12-13

我们知道 编译器在编译程序时 最终把程序的二进制文件最少分成三个段:
.text (放代码)

.data (放已初始化不为0的数据,占用二进制文件的大小 即使初始为0的数据扔然放在.bss只少在gcc上是如此)

.bss(放未初始化的数据,不占用二进制文件的大小,而是在加载程序运行时由系统为这个段分配内存空间,并把这片内存初始化为0)

现在我想如何让gcc把全局未初始化变量、结构体、数组的数据放在.data段中,分配空间 不是把它们放在.bss段中,而是直接在二进制文件中
除了在每个定义全局未初始化变量、结构体、数组的前面加上__attribute__((section(".data"))),还有没有全局的方法让gcc把所有全局未初始化
变量、结构体、数组的数据放在.data段中
先谢谢各位老师了!!这个问题很重要 在次真诚谢谢各位了!!

作者: pdlenovo   发布时间: 2011-12-13

高手们救救我吧 

作者: pdlenovo   发布时间: 2011-12-13