【发布时间】:2013-09-28 15:27:53
【问题描述】:
我想将整个 C 文件包含在输出部分中,
这是我正在尝试的示例代码:
#include<stdio.h>
#pragma arm section code = ".sec_ro"
int main(void)
{
printf("Hi\n");
}
#pragma arm section
我用过:
arm-none-linux-gnueabi-gcc -S hello.c
获取 .S 文件。
但 .S 文件中似乎没有 sec_ro 部分。
编辑/更新:
附加 .s 文件内容:
.arch armv5te
.fpu softvfp
.eabi_attribute 20, 1
.eabi_attribute 21, 1
.eabi_attribute 23, 3
.eabi_attribute 24, 1
.eabi_attribute 25, 1
.eabi_attribute 26, 2
.eabi_attribute 30, 6
.eabi_attribute 18, 4
.file "hello.c"
.section .rodata
.align 2
.LC0:
.ascii "Hi\000"
.text
.align 2
.global main
.type main, %function
main:
.fnstart
.LFB0:
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 1, uses_anonymous_args = 0
stmfd sp!, {fp, lr}
.save {fp, lr}
.setfp fp, sp, #4
add fp, sp, #4
ldr r0, .L2
bl puts
mov r0, r3
ldmfd sp!, {fp, pc}
我想包含一个完整的 C 文件来创建一个输出部分,我正在使用 GNU ARM 工具链,我错过了什么吗?
【问题讨论】:
-
我认为您应该在部分名称中删除点 (
.)。 -
@EitanT : 我试过了..还是不行
-
你能把你的.S文件的内容贴出来吗?
-
@EitanT : 添加 .s 文件内容。