GNU Compiler Section问题
大家好,有一个关于GNU编译器Section设置问题想请交一下大家。
比如把某些code放到同一个自定义的Section,可以用以下方式(Linux中已有的例子)来实现
#define __init __attribute__ ((__section__ (".init.text")))
#define __initdata __attribute__ ((__section__ (".init.data")))
static int setup_dmaspeed[MAXBOARDS] __initdata = { -1, -1, -1, -1 };
asmlinkage void __init start_kernel(void)
这个做法需要在每个函数定义的地方都加上__init 申明。
现在的问题是我想把某个C文件中的所有函数和变量都放到__section__ (".init.text")和__section__ (".init.data")中去,有没有办法不需要为每个函数和变量添加,而是在C文件的开头和结束部分加入某个申明就可以了,这样可以为节省很多时间,谢谢!
比如把某些code放到同一个自定义的Section,可以用以下方式(Linux中已有的例子)来实现
#define __init __attribute__ ((__section__ (".init.text")))
#define __initdata __attribute__ ((__section__ (".init.data")))
static int setup_dmaspeed[MAXBOARDS] __initdata = { -1, -1, -1, -1 };
asmlinkage void __init start_kernel(void)
这个做法需要在每个函数定义的地方都加上__init 申明。
现在的问题是我想把某个C文件中的所有函数和变量都放到__section__ (".init.text")和__section__ (".init.data")中去,有没有办法不需要为每个函数和变量添加,而是在C文件的开头和结束部分加入某个申明就可以了,这样可以为节省很多时间,谢谢!
...全文
相关推荐
GNU_C语言语法_扩展
这些扩展主要由GNU Compiler Collection (GCC) 提供,使得开发者可以利用更多的高级功能来编写更复杂的软件。以下是对GNU C语言扩展的一些详细解释:1.
Linker Script
本文档详细说明了链接脚本的使用方法,并且特别提到了GNU链接器ld的使用。GNU链接器ld是GCC(GNU Compiler Collection)的一部分,广泛用于Linux系统。
GCC 汇编器的伪操作符号解释中文帮助手册.rar
GCC汇编器是GNU Compiler Collection(GCC)的一部分,它是一个强大的开源编译器套件,支持多种编程语言,包括C、C++、Fortran、Ada等,并且在处理汇编语言方面同样强大。
ESP32 Arduino 3.3.10 编译器 Xtensa GCC 14.2.0(Win64)
其底层采用GNU Compiler Collection 14.2.0主干分支源码进行针对性补丁集成,包含完整的xtensa-esp32-elf-gcc、xtensa-esp32s2-elf-gcc、xtensa-esp32s3
怎样为arm写c代码
**交叉编译**: 由于你的开发环境可能不是ARM硬件,所以需要使用交叉编译工具链,如GCC(GNU Compiler Collection)的arm-linux-gnueabihf版本。


