gpt4 book ai didi

c - __stack_size__, __stack_end__ 符号在 'C'

转载 作者:太空狗 更新时间:2023-10-29 15:38:50 26 4
gpt4 key购买 nike

是否有一种直接方法可以在“C”函数中引用 stack_startstack_end 符号的值?我可以使用一些汇编程序来读取每个符号并将其放置到已被赋予“已使用”属性的变量中。例如。

static __attribute__((used)) UI_32 StkStart;

__asm__
(
"LDR R0, =__stack_start__ \n"
"LDR R1, =StkStart\n"
"STMIA.W R1, {R0}\n"
);

这里有办法避免使用assember吗?

我需要这样做的原因是我的堆栈区域在启动模块中被初始化为一个特定的模式,为了确定有多少堆栈已经被使用,我可以遍历堆栈内存检查更改原始模式。

最佳答案

在 C 中没有直接的方法来访问 stack_startstack_end 符号。您必须使用汇编代码来访问堆栈内存。

关于c - __stack_size__, __stack_end__ 符号在 'C',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16707507/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com