当前位置: 首页 > news >正文

c/c++--编译指令(预处理之后) #pragma

1. #pragma 作用

  • #pragma 用于指示编译器完成一些特定的动作
  • #pragma 的功能或作用 随编译器不同而变化
    即 不同的编译器可能以不同的方式解释同一条 #pragma 指令

2. 用法

常见用法示例

2.1 #pragma message

参考链接

  • 自定义编译信息输出到终端(一般和#if配合使用,用在控制版本号)

  • 编译的时候输出#pragma message信息,运行的时候根本看不见

  • 例子:

    #include <stdio.h>
    #define ANDROID20#if defined ANDROID20#pragma message "Compile Android SDK 2.0..."#define VERSION "Android 2.0"
    #elif defined ANDROID30#pragma message "Compile Android SDK 3.0..."#define VERSION "Android 3.0"
    #elif defined ANDROID40#pragma message "Compile Android SDK 4.0..."#define VERSION “Android 4.0
    #else#error Compile Version is not provided!
    #endifint main()
    {printf("%s\n",VERSION);return 0;
    }
    

在这里插入图片描述

2.2 #pragma once

指示编译器头文件被编译一次

2.3 #pragama pack(n)

用于指定内存对齐(一般用在结构体)

2.4 other

参考链接

http://www.lryc.cn/news/190263.html

相关文章:

  • 黑马JVM总结(三十二)
  • 接口自动化测试框架【reudom】
  • 【数据库问题】删除数据库失败,提示:there is 1 other session using the database
  • 【技术干货】如何快速创建商用照明 OEM APP?
  • 阿里云ModelScope 是一个“模型即服务”(MaaS)平台
  • Nodejs内置模块process
  • Vue2 修改了数组哪些方法,为什么
  • 均值滤波算法及例程
  • 拥抱产业发展机遇 兑现5G商业价值
  • Layui合计自定义列
  • Tomcat自启动另一种方法
  • C语言,标志法
  • 适合自学的网络安全基础技能“蓝宝书”:《CTF那些事儿》
  • 软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计
  • distcc分布式编译
  • Java面试题-0919
  • WPF列表性能提高技术
  • 掌握 BERT:自然语言处理 (NLP) 从初级到高级的综合指南(2)
  • 【算法优选】 二分查找专题——贰
  • SQL 的优化
  • 华为云云耀云服务器L实例评测|华为云上的CentOS性能监测与调优指南
  • Go If流程控制与快乐路径原则
  • yolov8 strongSORT多目标跟踪工具箱BOXMOT
  • 如何开发一款跑酷游戏?
  • 使用宝塔面板在Linux上搭建网站,并通过内网穿透实现公网访问
  • Unity可视化Shader工具ASE介绍——6、通过例子说明ASE节点的连接方式
  • VUE3基础知识梳理
  • Java架构师缓存通用设计方案
  • 2023年【危险化学品生产单位安全生产管理人员】及危险化学品生产单位安全生产管理人员模拟考试题
  • 微信小程序 在bindscroll事件中监听scroll-view滚动到底