首页 > 解决方案 > 结构如何与 ac 程序中的部分属性映射?

问题描述

这只是对 ac 程序中的结构的随机思考。

在 C 程序__attribute__中,提供了一种在进行声明时指定特殊属性的功能。

节 - 在“节”的帮助下,可以将特定变量或函数放置在特定地址

例如,对于要使用属性定义的变量,可以这样完成

int g1 __attribute__((section (".vector"))) = 100;

对于要使用属性定义的函数,可以这样完成

int some_function(void) __attribute__((section(".vector")));
   int some_function(void)
   {
   int local_variabale1 = 100;
    return local_variable1;

   }

因此,从上面的示例中,可以将该部分.vector放在我在链接脚本中指定地址的特定地址。

C中的结构是否有机会将结构放在部分中?

假设这是我structure program的 c

struct database
    {
    int employee_number;
    string name;
    int phone_number;
    };

如果有可能怎么办?

标签: cmemory-mapped-filessections

解决方案


C中的结构是否有机会将结构放在部分中?

结构的定义在运行时不存在于内存中的任何地方——它只在编译期间使用。因此,给它一个部分是没有意义的。

如果您要声明该结构的一个实例(例如struct database DB),那是一个变量,可以放在一个部分中。不过,结构本身不是变量。


推荐阅读