C语言-预定义符号

news2024/11/19 18:25:06

编译和链接(基础速通版)-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/Jason_from_China/article/details/137182220

预定义符号 

包含 

C语⾔设置了⼀些预定义符号,可以直接使⽤,预定义符号也是在预处理期间处理的。
__FILE__ //进⾏编译的源⽂件
__LINE__ //⽂件当前的⾏号
__DATE__ //⽂件被编译的⽇期
__TIME__ //⽂件被编译的时间
__STDC__ //如果编译器遵循ANSI C,其值为1,否则未定义

举例

__FILE__ //进⾏编译的源⽂件

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
	printf("文件夹所在位置__FILE__:\n%s\n\n\n", __FILE__);

	return 0;
}

可以很清晰的看到这个预定义符号就是打找到文件在你电脑的位置。 

__LINE__ //⽂件当前的⾏号

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{

	printf("文件当前的行号__LINE__:\n%d \n\n\n", __LINE__);
	return 0;
}

文件当前所在的行号。

__DATE__ //⽂件被编译的⽇期

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
	printf("文件被编译的日期__DATE__(也就是当前日期)__DATE__:\n%s \n\n\n", __DATE__);
	return 0;
}

文件被编译出来的日期。如果你是当天编译是,显示的就是当天的日期,如果你今天编译明天看看的话,标注的是今天的日期。

__TIME__ //⽂件被编译的时间

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
	printf("文件被编译的时间__TIME__(也就是当前时间)__TIME__:\n%s \n\n\n", __TIME__);
	return 0;
}

文件被编译出来的时间。如果你是当天编译是,显示的就是当天的,如果你今天编译明天看看的话,标注的是今天的时间。就像这个,几分钟前编译的,香樟我要看看,自然显示之前的时间。

__STDC__ //如果编译器遵循ANSI C,其值为1,否则未定义

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
	printf("如果编译器遵循ANSI C,其值为1,否则未定义__STDC__:\n%s \n\n\n", __STDC__);
	return 0;
}

这里子啊vs2022里面是不支持__STDC__的

预定义处理是在预编译阶段的就进行处理,预编译阶段就是预处理阶段

总结

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
	printf("文件夹所在位置__FILE__:\n%s\n\n\n", __FILE__);
	printf("文件当前的行号__LINE__:\n%d \n\n\n", __LINE__);
	printf("文件被编译的日期__DATE__(也就是当前日期)__DATE__:\n%s \n\n\n", __DATE__);
	printf("文件被编译的时间__TIME__(也就是当前时间)__TIME__:\n%s \n\n\n", __TIME__);
	//printf("如果编译器遵循ANSI C,其值为1,否则未定义__STDC__:\n%s \n\n\n", __STDC__);
	printf("文件当前的行号__LINE__:\n%d \n\n\n", __LINE__);

	return 0;
}

不懂文件操作函数的,可以看一下 

C语言-文件操作函数基础+进阶标准输入流输出流_小 l 得到了一个字符串,格式如下 yyyy/xx/xx。这是一个代表日期的字符串,但是已知-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/Jason_from_China/article/details/137077273

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++从入门到精通——初步认识面向对象及类的引入

初步认识面向对象及类的引入 前言一、面向过程和面向对象初步认识C语言C 二、类的引入C的类名代表什么示例 C与C语言的struct的比较成员函数访问权限继承默认构造函数默认成员初始化结构体大小 总结 前言 面向过程注重任务的流程和控制&#xff0c;适合简单任务和流程固定的场…

R155/R156:汽车网络安全新法规快速指南

R155/R156:汽车网络安全新法规快速指南 随着国际机构进入网络安全领域,制定法规、标准和指南,公众在其使用的车辆中享受更好的网络安全保护指日可待。随着时间的推移,车辆网络安全将不断发展以应对不断变化的网络威胁。 欧洲经济委员会 (ECE) 的 R155 和 R156 法规旨在应…

Day30 线程安全之窗口售票问题(含代码)

Day30 线程安全之窗口售票问题&#xff08;含代码&#xff09; 一、需求&#xff1a; 铁道部发布了一个售票任务&#xff0c;要求销售1000张票&#xff0c;要求有3个窗口来进行销售&#xff0c; 请编写多线程程序来模拟这个效果&#xff08; 注意&#xff1a;使用线程类的方式…

数据库 06-04 恢复

01 一.事务故障 二.系统 三.磁盘 02. 重点是稳定存储器 组成

【IEEE STD 1801】——Introduction

Introduction 本标准的目的是提供便携、低功耗的设计规范&#xff0c;这些规范可以在整个电子系统设计、分析、验证和实现流程中与各种商业产品一起使用。 当电子设计自动化(EDA)行业在20世纪80年代开始创建用于指定、仿真和实现数字电子电路的功能规范的标准时&#xff0c;主…

当下鸿蒙开发热潮,大前端开发有没有必要搞!!!

鸿蒙到底好不好&#xff1f;要不要搞&#xff1f; Android开发反正目前工作感觉也不好找&#xff0c;即便是上海这样的大城市也难搞&#xff0c;人员挺饱和的。而且年前裁员的公司那么多&#xff0c;再看自己&#xff0c;年龄不是优势&#xff1b;技术不是优势&#xff0c;想想…

DHCP-PXE

Dynamic Host Configuration Protocol 动态主机配置协议 1.Selinux 调试为Permission 防火墙配置 搭建DHCP的主机必须有一个静态地址&#xff0c;提前配置好 安装DHCP软件 服务名为dhcpd DHCP地址分配四次会话&#xff0c; DISCOVERY发现 OFFER 提供 REQUEST 回应 A…

PHP实现nginxPhp错误日志提取统计工具(路径+错误行+报错信息+次数排序)

粘贴PHP错误日志内容(NGINX 下PHP网站错误日志)。 作用:提取PHP Warning/Notice:路径错误行报错信息按出现次数排序。 以上已满足本人自己LNMP环境的调试需求&#xff0c;其他环境自己评估是否可用。 <?php //整理与分享&#xff1a;yujianyue<15058593138qq.com> $…

国家开放大学电大《钢结构》形考任务答案

电大搜题 多的用不完的题库&#xff0c;支持文字、图片搜题&#xff0c;包含国家开放大学、广东开放大学、超星等等多个平台题库&#xff0c;考试作业必备神器。 公众号 答案&#xff1a;更多答案&#xff0c;请关注【电大搜题】微信公众号 答案&#xff1a;更多答案&#x…

腾讯云-域名注册购买实名流程

1&#xff0c;注册并完成实名腾讯云账号 账号实名认证和后续要完成的域名实名认证应为同一主体单位。否则域名实名会不通过 参考链接 腾讯云账号实名 – 易极赞自助建站 2&#xff0c;进入腾讯云域名注册购买地址 推荐购买com&#xff0c;cn&#xff0c;net主流域名&#xf…

LabVIEW深度学习

目录 一、配置环境1.1、显卡选择1.2、下载显卡驱动1.3、下载并安装Anaconda1.4、配置Anaconda软件包下载服务器1.5、配置虚拟环境tf_gpu1.6、安装vscode1.7、安装tensorflow1.8、下载安装Git1.9、安装TensorFlow Object Detection API框架1.10、安装依赖的python软件包1.11、配…

Centos7下docker安装jenkins【使用docker-compose图文教程】

个人记录 前置条件&#xff1a;安装Docker与Docker-compose Centos7安装Docker与Docker-compose【图文教程】 查看jenkins最新的版本 https://www.jenkins.io/download/ 配置docker-compose.yml vim docker-compose.yml按i进行编辑模式&#xff0c;粘贴如下内容。把image里…

After Effects 2024:创意无界,想象成真mac/win版

在数字艺术飞速发展的今天&#xff0c;After Effects 2024已经站在了视觉特效和动态图形设计的最前沿。这款软件不仅继承了之前版本的强大功能&#xff0c;更在细节和效率上进行了全方位的优化和升级。 After Effects 2024软件获取 After Effects 2024为用户提供了更加丰富的特…

A - Penalty Kick

A - Penalty Kick 我又又又回来啦 题目&#xff1a; Problem Statement Takahashi will have N N N penalty kicks in a soccer match. For the i i i-the enalty kick, he will fail if i i i is a multiple of 3 3 3, and succeed otherwise . . . Print the resul…

拦截器抛出异常无法被全局异常处理器捕获问题

文章目录 基本说明问题描述问题原因解决方法前端执行的所有请求都通过Controller&#xff0c;而不是直接访问html定义一个/error路径的方法 总结 基本说明 我的前后端项目是放在一起的&#xff0c;前后端都是由springMVC进行控制&#xff0c;但是现在我在拦截器的preHandle方法…

c# wpf LiveCharts 简单试验2

1.概要 1.1 说明 1.2 要点 1.2.1 添加命名控件 xmlns:lvc"clr-namespace:LiveCharts.Wpf;assemblyLiveCharts.Wpf" 1.2.2 图片控件 <lvc:CartesianChart Name"chart" LegendLocation"Right"/> 1.3 代码文件引用 using LiveCharts…

循环神经网络:揭秘长期记忆的魔法之源

在人工智能和机器学习领域&#xff0c;循环神经网络&#xff08;Recurrent Neural Networks&#xff0c;简称RNN&#xff09;以其独特的架构和机制&#xff0c;在处理序列数据方面展现出了强大的能力。特别值得一提的是&#xff0c;RNN能够学习到长期的记忆&#xff0c;这使得它…

综测仪MT8862A控制方法

实现自动化控制&#xff0c;本次为大家讲解综测仪MT8862A的控制逻辑。 新建底层控制逻辑 在文件basis_contorl.py中写入仪器控制底层代码&#xff0c;代码如下&#xff1a; import tkinter.messagebox import pyvisaclass InstrumentControl(object):inst Nonedef __init__(…

利用Flutter混淆工具提高应用的反编译难度

在移动应用开发中&#xff0c;保护应用代码安全至关重要。Flutter 提供了简单易用的混淆工具&#xff0c;帮助开发者在构建 release 版本应用时有效保护代码。本文将介绍如何在 Flutter 应用中使用混淆&#xff0c;并提供了相关的操作步骤和注意事项。 &#x1f4dd; 摘要 本…

C# 委托的基础应用

一、Action 和 Func 的使用。 二、自定义委托&#xff1a; 完整的使用代码示例&#xff1a; 三、委托的一般使用 模板方法&#xff1a; 回调方法&#xff0c;在模板方法的基础上进行添加。