#error 在C语言中的作用

1、#error命令是C/C++语言的预处理命令之一

#error 是C语言中的预处理指令之一,用于在编译时生成一个错误消息。当编译器遇到 #error 指令时,会立即停止编译,并将指定的错误消息输出到编译器的错误信息中。

在给定的代码中,#error 是一个空指令,没有提供错误消息。因此,编译器会报告一个空错误消息,并停止编译过程。这通常用于强制要求开发者在特定条件下停止编译,或者提醒开发者注意某些特定的编译配置或条件。

2、举例

#include <stdio.h>
 
//#define SHOW_INFO
 

#ifndef SHOW_INFO
	#error you must define SHOW_INFO marco.
#endif


int main(void)
{
	printf("hello world!\n");
	getchar();
 
	return 0;
}

这里的 #error,用于判断程序是否定义了 SHOW_INFO 这个宏,如果定义了则正常执行;如果未定义,则引起编译器报错,错误提示信息就是 #error 后面的内容。

如图所示(注释掉 SHOW_INFO 宏定义):

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/299938.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2.6 KERNEL LAUNCH

图2.15在vecAdd函数中显示最终主机代码。此源代码完成了图2.6.中的骨架。2.12和2.15共同说明了一个简单的CUDA程序&#xff0c;该程序由主机代码和设备内核组成。该代码是硬接的&#xff0c;每个线程块使用256个线程。然而&#xff0c;使用的线程块的数量取决于向量&#xff08…

元数据管理平台对比预研 Atlas VS Datahub VS Openmetadata

大家好&#xff0c;我是独孤风。元数据管理平台层出不穷&#xff0c;但目前主流的还是Atlas、Datahub、Openmetadata三家&#xff0c;那么我们该如何选择呢&#xff1f; 本文就带大家对比一下,这三个平台优势劣势。要了解元数据管理平台&#xff0c;先要从架构说起。 正文共&am…

基因组学之碱基突变的关键概念

碱基突变 突变&#xff08;muation&#xff09;会引起DNA序列的变化&#xff0c;进一步会引起蛋白序列的改变。正常的细胞活动或细胞与环境的随机相互作用&#xff0c;会使得生物产生一定数目的突变&#xff0c;称为自发突变&#xff08;spontaneous muation&#xff09;。突变…

Qt6入门教程 4:Qt Creator常用技巧

在上一篇Qt6入门教程 3&#xff1a;创建Hello World项目中&#xff0c;通过创建一个Qt项目&#xff0c;对Qt Creator已经有了比较直观的认识&#xff0c;本文将介绍它的一些常用技巧。 Qt Creator启动后默认显示欢迎页面 创建项目已经用过了&#xff0c;打开项目也很简单&#…

毛概笔记。

一、 毛泽东思想是马中化的第一果&#xff0c;是关于搞革命&#xff0c;搞改造&#xff0c;搞建设的理论。 二、新民主主义革命 新民主主义革命的三大法宝&#xff1a;1.统一战线 2. 武装斗争 3.党的建设 政治纲领 经济纲领 文化纲领 乱世造英雄 三、社会主义改造理论&#xff…

Mac/Window 如何下载安装 Pycharm 2023

文章目录 1. 下载 Pycharm2. jiebra 工具下载3. jiebra 工具安装3.1 Window 端3.2 Mac 端 1. 下载 Pycharm Pycharm 下载官网&#xff0c;可以下载的是最新版的 Pycharm&#xff0c;但不保证可以jihuo&#xff1b; 如果需要保证可用的&#xff0c;建议直接下载资源&#xff…

猫主食冻干品牌k9、sc、希喂!哪款主食冻干才是布偶猫的最爱?

提到布偶猫的喂养问题&#xff0c;真的是让很多铲屎官头疼不已啊&#xff01;这小家伙虽然是食肉动物&#xff0c;但由于肠胃脆弱敏感&#xff0c;所以在饮食上得特别注意哦&#xff01;好消息是&#xff0c;现在有了主食冻干这种好东西&#xff01;它不仅贴合猫咪的天然饮食习…

Winform中使用Websocket4Net实现Websocket客户端并定时存储接收数据到SQLite中

场景 SpringBootVue整合WebSocket实现前后端消息推送&#xff1a; SpringBootVue整合WebSocket实现前后端消息推送_websocket vue3.0 springboot 往客户端推送-CSDN博客 上面实现ws推送数据流程后&#xff0c;需要在windows上使用ws客户端定时记录收到的数据到文件中&#x…

SRv6简介

文章目录 SR&#xff0c;分段路由IPv6 SRv6&#xff0c;简单来理解&#xff0c;其实就是 SRIPv6。 SRv6(Segment Routing v6&#xff0c;基于IPv6转发平面的段路由)是基于源路由理念而设计的在网络上转发数据包的一种协议。其核心思想是将报文转发路径切割成不同的段&#xff…

[Linux c/c++] 关于进程名,线程名,/proc文件系统 等

参考&#xff1a; kernel - Why is the name of a process in /proc/PID/status not matching package name or ps command - Stack Overflowhttps://stackoverflow.com/questions/14176058/why-is-the-name-of-a-process-in-proc-pid-status-not-matching-package-name-or-ps…

Opencv与PyQt5设计一个摄像头界面

一、前言 本篇的内容是学习的这一位博主的&#xff1a;程序界面设计_Doc_Cheng的博客-CSDN博客。 这是我见过很详细的教你如何使用的PyQt5来完成UI界面设计的&#xff0c;专注于UI界面设计。对我而言&#xff0c;这教程就像是一个实用工具&#xff0c;因为我只需要能够显示图…

MySQL之视图案例

目录 一.视图1.1 含义1.2 操作 二.案例三.思维导图 一.视图 1.1 含义 虚拟表&#xff0c;和普通表一样使用 1.2 操作 1.创建视图 create view 视图名 as 查询语句&#xff1b; 2.视图的修改 方式一&#xff1a; create or replace view 视图名 as 查询语句 方式二&#x…

H266/VVC率失真优化概述

率失真优化技术 率失真优化&#xff1a; 视频编码的主要目的是在保证一定视频质量的条件下尽量降低视频的编码比特率&#xff0c;或者在一定编码比特率限制条件下尽量地减小编码失真。在固定的编码框架下&#xff0c;为了应对不同的视频内容&#xff0c;往往有多种候选的编码方…

国标28181平台 管理下级推送来的目录资源

目 录 一、业务分组目录和行政区划目录的定义 &#xff08;一&#xff09;业务分组目录 &#xff08;二&#xff09;行政区划目录 &#xff08;三&#xff09;实际应用的目录结构 二、国标28181支持目录资源的推送 三、支持国标28181的视频监控平台…

爬虫-3-模拟登录,代理ip,json模块

#本文仅供学习使用(O&#xff40;) 如果服务器响应的数据为json数据: 那么我们可以用 res.json() 或 json模块(将json字符串转换为Python里面的字典类型) 接收数据。

关于java的多维数组

关于java的多维数组 在前面的文章中&#xff0c;我们了解了数组的使用&#xff0c;我们之前所了解的数组是一维数组&#xff0c;本篇文章我们来了解一下二维数组&#xff0c;多维数组&#x1f600; 一、二维数组 首先我们知道一维数组的声明和创建的方式是。 int array ne…

Java面试——框架篇

1、Spring框架中的单例bean是线程安全的吗&#xff1f; 所谓单例就是所有的请求都用一个对象来处理&#xff0c;而多例则指每个请求用一个新的对象来处理。 结论&#xff1a;线程不安全。 Spring框架中有一个Scope注解&#xff0c;默认的值就是singleton&#xff0c;单例的。一…

[算法应用]dijkstra算法的应用

先看一眼原始dijkstra算法&#xff0c;参考自dijkstra算法C实现_c实现djikstra-CSDN博客 分为三步 找到当前最优的把当前最优的&#xff0c;不参与后面的更新逐个比较是否更新 dijkstra算法的应用 题目大概是要从图上找一条权值不减的路径&#xff0c;且要经过最多的点。 所以…

【普中开发板】基于51单片机的简易密码锁设计( proteus仿真+程序+设计报告+讲解视频)

基于51单片机的简易密码锁设计 1.主要功能&#xff1a;资料下载链接&#xff1a; 实物图&#xff1a;2.仿真3. 程序代码4. 设计报告5. 设计资料内容清单 【普中】基于51单片机的简易密码锁设计 ( proteus仿真程序设计报告讲解视频&#xff09; 仿真图proteus8.16(有低版本) 程…

数据结构——栈(Stack)

目录 1.栈的介绍 2.栈工程 2.1 栈的定义 2.1.1 单链表实现栈 2.1.2 数组实现栈 2.1.2.1 静态数组栈 2.1.2.2 动态数组栈 2.2 栈的函数接口 2.2.1 栈的初始化 2.2.2 栈的数据插入&#xff08;入栈&#xff09; 2.2.3 栈的数据删除&#xff08;出栈&#xff09; 2.2.…