gcc - 如何将指针分配给使用 GCC 编译后添加的自定义部分?
问题描述
我正在使用 GCC 并为 STM32 编写嵌入式软件。
如何阅读添加的部分--add-section
?
我想在我的程序中添加一个部分,elf
并在我的程序中分配一个指向该部分数据的指针。
例如:
extern char * ptr_to_my_section = &my_array;
然后我将编译一个文件my_data.cpp
并将其注入特定的部分my_section
。
我的数据.cpp
char my_array[] = "This is the custom data";
最后,我将创建二进制可执行文件。
解决方案
然后我将编译一个文件 my_data.cpp 并将其注入到一个特定的部分 my_section。
你不需要为此使用objcopy --add-section
。您可以简单地要求 GCC 将您的数组放入my_section
using __attribute__((section("my_section")))
.
要找到本节的开头,您可以使用{__start,__end}
链接器“神奇地”为您添加的符号:
const char *ptr_to_my_section = &__start_my_section;
const char *end_my_section = &__stop_my_section;
推荐阅读
- javascript - 405 Method Not Allowed - Laravel axios post Base64 字符串图像
- python-3.x - 井字游戏使用 python tkinter
- sql-server - 为什么在此更新中分离集合会提高速度?
- reactjs - 反应改变状态
- heroku - Moviepy:在heroku上运行时,书面视频文件中没有音频
- java - 多接口实现Android
- angular - 确保派生组件中的 super.onDestroy()
- javascript - 调整不同类型图像的大小
- python-3.x - 尽管少于 2000 个字符,嵌入会导致不和谐错误 400
- database - 缓慢插入/下降