2011-01-21 5 views
10

En lenguaje ensamblador utilizo .Sección directiva para decirle al ensamblador qué sección de salida de por ejemplo¿Cómo especifico las secciones de salida en los archivos C compilados usando GCC?

.section init 

¿Hay una manera de hacer lo mismo en archivos C. Quiero que el código de algunos archivos vaya a una sección diferente para que pueda cargarlo en diferentes direcciones de memoria. Sé que puedo crear un script para ld y especificar secciones allí, pero no quiero hacer eso. ¿Hay algún tipo de cambio de compilador o directiva de sección para los archivos C que hará esto?

+0

Similar a esta pregunta: http://stackoverflow.com/questions/3516398/define-a-sections-in-c-code-gcc. –

Respuesta

14

No:

__attribute__((section("section_name"))) 

Así, por ejemplo:

void foo() __attribute__((section(".text_foo"))); 

.... 

void foo() {} 

colocaría en foo.text_foo

Ver here para más información.

+0

gracias, pero eso es solo para una función. Quiero algo que haga lo mismo para completar el archivo C – binW

+0

Consejo: puede usar una macro para que sea menos feo. – Artelius

+0

Una macro es una gran opción, ya que también ayuda con la portabilidad. –

Cuestiones relacionadas