c - 如何将全局变量放在另一个部分
问题描述
我想知道是否有一个宏可以用来将全局变量放在另一个部分中。即 my_array 将存储在 bss 中。因为它没有初始化,但我想把它放在 .data 部分。
uint8_t my_array[];
int main()
{
return 1;
}
解决方案
如果您使用的是 gcc,则可以使用该__section__
属性来设置该部分:
__attribute__((__section__(".data")))
uint8_t my_array[5];
请注意,您还需要为其设置大小,否则您只有声明而不是定义。
推荐阅读
- python - 如何在 URL 列表上抓取和执行 NLP
- azure - Azure 函数本地调试没有发生门户问题?
- c# - Xamarin.Forms VNDocumentCameraViewController Scanner如何在Android中实现类似
- c# - 使用 c# 客户端缺少授权标头
- javascript - 选择下拉项,触发点击事件,点击按钮并从网站提取输出
- docker - Docker 容器与私有网络/网站通信
- elasticsearch - ElasticSearch“无法镶嵌形状”索引有效地理形状时出错
- reactjs - react-beautiful-dnd 只有第一种有效
- mahara - 如何在 Mahara 中创建用户日志文件
- c - 为什么在访问二级指针时出现分段错误错误?C语言