c/c++语言开发共享在C中使用“#pragma section ”有什么用?

在C中使用"#pragma section "有什么用?

我遇到过使用以下类型的C代码文件: –

 #define XYZ "ITEM 26.G03" #pragma section  

XYZ的位置是: #define XYZ "ITEM 26.G03"

我需要对"#pragma section"的使用进行一些解释

    #pragma指令是一个特定于实现的指令,它是向编译器提供附加信息的标准方法。 该指令具有以下forms:

     #pragma name 

    如果预处理器识别出指定的“名称”,它将执行它们所代表的任何操作,或将信息传递给编译器。 如果c实现不支持“name”,则忽略它

    例如, gcc编译器接受此处列出的编译指示列表。

    对于#pragma sectiongcc的文档说:

    section(“section-name”)通常,编译器将它生成的代码放在文本部分中。 但是,有时您需要其他部分,或者需要某些特定function才能显示在特殊部分中。 section属性指定函数位于特定部分中。 例如,声明:

      extern void foobar (void) __attribute__ ((section ("bar"))); 

    将functionfoobar放在条形部分。

    某些文件格式不支持任意节,因此所有平台上都不提供section属性。 如果需要将模块的全部内容映射到特定部分,请考虑使用链接器的工具。

    更多关于这一点 。

    Section在.obj文件中创建一个部分。
    有关更多详细信息,请参阅MSDN 。

    代码和数据在目标文件的各个部分中生成,由链接器组合成可执行文件,最终位于特定位置的目标内存中。 默认部分是预定义的并具有某些属性。 section pragma可用于更改默认属性,定义新节,以及控制代码和变量到特定节的分配,以及链接器命令文件的位置。

    #pragma section定义了一个section类,并且可选地定义了该类中的一个或两个部分。 section类控制放置在类实例中的变量和代码的寻址和可访问性。

      以上就是c/c++开发分享在C中使用“#pragma section ”有什么用?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/562143.html

      (0)
      上一篇 2021年2月4日
      下一篇 2021年2月4日

      精彩推荐