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

C语言----------#pragma预处理分析

一、#pragma预处理分析

1、#pragma是编译器指示字,用于指示编译器完成一些特定的动作;

2、#pragma所定义的很多指示字是编译器和操作系统特有的;

3、#pragma在不同的编译器间是不可移植的:

预处理器将忽略它不认识的#pragma指令,两个不同的编译器可能以两种不同的方式解释同一条#pragma指令。

4、一般用法:#pragma  parameter。

二、#pragma  message用法

#pragma  message不同于error和line的编译器提示错误或警告,它是简单地在编译器窗口打印信息。当我们代码很多,有很多不同版本的代码都在这里的时候,你需要快速知道这个代码是哪个版本,可以使用它。

#include <stdio.h>define   CODE2_1#if define(CODE2_1)#pragma message("This is code 2.0 !")#else  if(CODE3_0)#pragma message("This is code 3.0 !")
#else#pragma message("hello world !")
#endif

三、#pragma  pack()用法

#pragma  pack()内存对齐。示例如下(示例来源于网络):

#include <stdio.h>#pragma pack(8)struct S1
{short a;long b;
};struct S2
{char c;struct S1 d;double e;
};#pragma pack()int main()
{struct S2 s2;printf("%d\n", sizeof(struct S1));printf("%d\n", sizeof(struct S2));printf("%d\n", (int)&(s2.d) - (int)&(s2.c));return 0;
}

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

相关文章:

  • 数据库中的时间django转换成None
  • 八种流行的网络协议
  • Qwt QwtKnob绘制旋钮
  • docker部署elk
  • 护网蓝队初级面试题摘录(下)
  • 通过51单片机控制SG90舵机按角度正反转转动
  • uniapp写一个计算器用于记账(微信小程序,APP)
  • 前端的几种网络请求方式
  • Kubernetes技术与架构-存储 4
  • jbase编译与部署的优化
  • Filter 和 Listener
  • 【正则表达式】中的“\b“
  • FPGA高端项目:图像采集+GTP+UDP架构,高速接口以太网视频传输,提供2套工程源码加QT上位机源码和技术支持
  • 数据库系统原理与实践 笔记 #7
  • 【CesiumJS】(1)Hello world
  • Docker 学习路线 5:在 Docker 中实现数据持久化
  • linux下使用vscode对C++项目进行编译
  • LangChain+LLM实战---ChatGPT的即时插件套件制作
  • 包装印刷行业万界星空科技云MES解决方案
  • Python教程---计算机语言简介
  • rhcsa-文件内容显示
  • 宠物养成猫狗商城门店问诊档案流量主小程序开发
  • 应用安全四十二:SSO安全
  • 【行云流水线实践】基于“OneBuild”方法对镜像进行快速装箱 | 京东云技术团队
  • 软件开发必备神器!一文读懂10款热门看板工具推荐!
  • 怎样提取视频提取的人声或伴奏?
  • SpringBoot概述
  • 深度学习框架TensorFlow.NET环境搭建1(C#)
  • Git客户端软件 Tower mac中文版特点说明
  • 详解IPD需求分析工具$APPEALS