• 汇总#pragma用法


      这几天忙着去复习了,但是心理总是不踏实,不到实验室里就觉得一天的生活变了个样,现在还是晚上来这里“搞起”吧,白天还是在复习准备考试。因为要开始学习freescale,准备明年的比赛了,觉得是时候开始搞这个了,这几天也看了一下大概的内容,发现程序当中#pragma用的很多,每个程序都有,以前写的代码也有,但是没有总结,现在笔者来总结一下#pragma的用法吧。

      C 和C++的每个实现对它的主机或操作系统都支持一些独有的特征。例如, 某些程序须对存放数据的存储器区域进行精确的控制,或必须控制特定函数接受参量的方式。#pragma 指令对每个编译器给出了一个方法,在保持与C 和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 

    语法:

    1.#pragma message

       #pragma message("消息文本")   当编译器遇到这条指令时,就在编译输出窗口中将消息文本打印出来。

    2.#pragma code_seg

        #pragma code_seg(["section-name"["section-class"]])

    它能够设置程序中函数代码存放的代码段。当我们开发驱动程序时便就会使用到它。

    3.#pragma once

      只要在头文件的最开始加入这条指令就能够头文件被编译一次。

    4.#pragma hdrstop

       表示编译头文件到此为止,后面的头文件不进行预编译。

    5.#pragma  resouce

      #pragma  resouce"*.dfm"表示*.dfm文件中的资源加入工程。*.dfm中包括了外观定义。

    6. #pragma warning

        #pragma warning (disable:4507  34; once:4385; error:164)  等价于

       #pragma warning (disable:4507  34)  //不显示4507和30号警告信息

       #pragma warning (once:4385)  //4358号警告信息仅报告一次

        #pragma warning (error:164) //把164号警告信息作为一种错误

    7.  #pragma  comment

        #pragma  comment(...) 该指令将一个注释放入一个对象文件或可执行文件中,常用lib关键字帮我们链入一个库文件。如:#pragma  comment(lib,"user32.lib") 该指令用来将user32.lib库文件加入到本工程中。

    8. #pragma  pack

        这条指令主要用作改变编译器的默认对齐方式。

  • 相关阅读:
    oracle安装
    Jmeter入门篇
    DOS常用命令
    SpringBoot中使用JNnit4(一)之Mockito的使用
    SpringBoot中使用JNnit4(入门篇)
    SpringBoot搭建
    SpringBoot中集成Swagger2
    jpa使用过程中出现问题记录[持续更新]
    Python逆向(五)—— Python字节码解读
    Python逆向(四)—— Python内置模块dis.py源码详解
  • 原文地址:https://www.cnblogs.com/lihuidashen/p/3481096.html
Copyright © 2020-2023  润新知