C语言预定义宏记录

这篇具有很好参考价值的文章主要介绍了C语言预定义宏记录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

今天看RXW源码的时候,看到了在函数里使用 func 参数的样例,遂查一下这两玩意的使用方法
这玩意叫做预定义宏

标准C语言预处理要求定义某些对象宏,每个预定义宏的名称为两个下划线字符开头和结尾,这些预定义宏不能被取消定义(#undef)或由编程人员重新定义。

LINE :当前程序行的行号,表示为十进制整型常量
FILE :当前源文件名,表示字符串型常量
DATE :转换的日历日期,表示为Mmm dd yyyy 形式的字符串常量,Mmm是由asctime产生的。
TIME :转换的时间,表示"hh:mm:ss"形式的字符串型常量,是有asctime产生的。(asctime貌似是指的一个函数)
STDC :编辑器为ISO兼容实现时位十进制整型常量
STDC_VERSION :如何实现复合C89整部1,则这个宏的值为19940SL;如果实现符合C99,则这个宏的值为199901L;否则数值是未定义
STDC_EOBTED :(C99)实现为宿主实现时为1,实现为独立实现为0
STDC_IEC_559 :(C99)浮点数实现复合IBC 60559标准时定义为1,否者数值是未定义
STDC_IEC_559_COMPLEX: (C99)复数运算实现复合IBC 60559标准时定义为1,否者数值是未定义
STDC_ISO_10646 :(C99)定义为长整型常量,yyyymmL表示wchar_t值复合ISO 10646标准及其指定年月的修订补充,否则数值未定义
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
示例:
int main()
{
printf(" FUNCTION: %s\n", func);
printf(" func: %s\n", func);
printf(" LINE: %d\n", LINE);
printf(" FILE: %s\n", FILE);
printf(" DATE: %s\n", DATE);
printf(" TIME: %s\n", TIME);
return(0);
}

运行结果:

func: main
LINE: 8
FILE: F:\Arnold_Test\20211124_opencvTest\TEST\源.cpp
DATE: Dec 4 2021
TIME: 17:01:48
func: main

学习记录文章来源地址https://www.toymoban.com/news/detail-633997.html

到了这里,关于C语言预定义宏记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • (十二)反射与特性 -反射与预定义特性(1)

    1、什么是反射 了解反射之前,要先了解一下元数据。元数据指保存在程序集中的一些有关程序及其类型的数据,包括类、结构、委托、接口和枚举等)的成员和成员的信息。 程序在运行时,可以查看程序集以及其本身的元数据,是反射。 通过反射,可以在运行时获取程序或

    2024年02月09日
    浏览(43)
  • Matlab高效编程:向量化(vectorization)、矩阵化、变量预定义

    目录 0. 前言 1. 变量预定义 2. 向量化,vectorization 3. 矩阵化 3.1 离散化 3.2 双重循环实现 3.3 向量化实现 3.4 矩阵化实现         本文介绍几个Matlab常用的提高运行效率的编程技巧。         对一个基于数值化的方式计算一个连续函数的频谱(傅里叶变换)的例子给出了三种实

    2024年02月02日
    浏览(49)
  • 预定义类型“System.*****“未定义或未导入,且dll全部带有黄色感叹号

    一不小心动了vs的源文件 Microsoft.Common.CurrentVersion.targets,导致引发了System下所有的方法如Object,Void等不可用,dll带有感叹号 刚开始不知道是源文件的错误,搜索到了好几种解决方法,有: 1.可能是dll的框架和项目框架不一致,打开项目属性,更改目标框架后重新生成并重启

    2024年02月04日
    浏览(44)
  • JavaScript保留字和预定义的全局变量及函数汇总

    保留字也称,每种语言中都有该语言本身规定的一些,这些都是该语言的语法实现基础,JavaScript中规定了一些标识符作为现行版本的或者将来版本中可能会用到的,所以当我们定义标识符时就不能使用这些了,下面介绍下JavaScript保留

    2024年01月16日
    浏览(58)
  • 在 QML 中,ComboBox 是一种常用的用户界面控件,通常用于提供一个下拉式的选择框,允许用户从预定义的选项列表中选择一个值

    ComboBox 详解: 以下是 ComboBox 的一些重要属性和特性: model : 用于指定 ComboBox 中的选项列表,可以是一个数组、列表、模型或者其他可迭代的数据结构。 editable : 用于指定是否允许用户编辑 ComboBox 中的文本输入框,以便输入非预定义的选项。 currentIndex : 用于获取或设置当前

    2024年04月15日
    浏览(42)
  • 【开源】基于JAVA语言的民宿预定管理系统

    基于JAVA+Vue+SpringBoot+MySQL的民宿预定管理系统,包含了民宿档案模块、民宿订单模块、民宿评价模块、民宿留言模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,民宿预定管理系统基于角色的访问

    2024年01月22日
    浏览(48)
  • idea插件开发-自定义语言00-开发导航

     源码 Initial Setup(初始化设置) ​​Registering a File Type​​​ :注册文件类型要实现一个自定义的语言必须要实现的,​​示例代码​​ ​​Implementing Lexer实现​​ :实现编程语言的语法分析器,​​示例代码​​ ​​Implementing Parser and PSI​​​:实现一个词法分析器

    2024年02月12日
    浏览(33)
  • idea插件开发-自定义语言4-Syntax Highlighter

             SyntaxHighlighter 用于指定应如何突出显示特定范围的文本, ColorSettingPage可以定义颜色。         TextAttributesKey用于指定应如何突出显示特定范围的文本。不同类型的数据比如、数字、字符串等如果要突出显示都需要创建一个TextAttributesKey实例。一个类型如

    2024年02月15日
    浏览(36)
  • Duang,您的钉钉应用已上线!云开发5分钟快速打造钉钉会议室预定系统

    简介: 5分钟可以干什么?喝一杯咖啡,回一封邮件,还是开发上线一个钉钉应用。云开发平台联合钉钉开发平台推出0门槛打造你的第一个钉钉应用的活动,完成相应任务后,即可领取精美奖品。春暖花开,领个背包去踏春吧!   俗话说工欲善其事,必先利其器。一款适合程

    2023年04月08日
    浏览(34)
  • UG\NX二次开发 使用录制功能录制操作记录时,如何设置默认的开发语言?

    文章作者:里海 来源网站:王牌飞行员_里海_里海NX二次开发3000例,CC++,Qt-CSDN博客 NX二次开发使用BlockUI设计对话框时,如何设置默认的代码语言?   依次打开“文件”-“实用工具”-“用户默认设置”-“用户界面”-“操作记录”-“C++”。       

    2024年02月11日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包