C语言中常用宏__FUNCTION_和__FILE__、__LINE__的用法介绍

2023-05-16

C/C++提供了三个宏__FUNCTION__,__FILE__和__LINE__用于定位程序运行时发生错误的位置。

程序预编译时预编译器将用所在的函数名,文件名和行号替换。

当运行时错误产生后这三个宏分别能返回错误所在的函数,所在的文件名和所在的行号。

//位于C:\test\下 
#include <stdio.h>
 
int main(int, char**)
{
    printf("%s:This fake error is in \"%s\" on line %d.\n", __FUNCTION__, ___FILE___, ___LINE___);
    return 0;
}
//运行结果
main: This fake error is in "C:\test\test.cpp" on line 6.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言中常用宏__FUNCTION_和__FILE__、__LINE__的用法介绍 的相关文章

随机推荐

  • 登录和第三方授权(Cookie和Authorization)

    文章目录 1 登录和授权的区别2 Cookie2 1 Cookie的工作机制2 2 Cookie的作用2 3 Cookie存在的问题 xff08 了解即可 xff09 3 Authorization3 1 Basic3 2 Bearer3
  • VSCode下便捷编译运行C++代码——Code Runner配置及说明

    本文将描述如何使用VScode及其插件方便快速编译运行C 43 43 代码 下面举例均以C 43 43 为例 其他语言不再赘述 安装VSCode 官方地址配置好你的编译器路径 确保可以 如何验证 在命令行输入 若有相关信息输出则说明已配置成
  • ros如何获取topic中的md5sum及类型等

    string doQueue const ros MessageEvent lt topic tools ShapeShifter const gt amp msg event string const amp topic shared p
  • C语言使用 学习记录(1)

    本人没学过C xff0c 但是工作中赶鸭子上架 xff0c 得接触一些 对于一些开源代码 xff0c 编译配置 动态库 静态库之类的稍稍掌握了一些 xff0c 但写起代码来 xff0c 还是一头雾水 最近项目上的机会 xff0c 跟人学了些
  • 英伟达TX2的USB口无法使用的解决办法

    新做了一块TX2的底板 xff0c 但是USB口无法使用 xff0c 插上去USB设备之后什么反应都没有 这是由于官方的底板上采用INA3221芯片做了电源监控电路 xff0c 只有确保5V电源达到要求的情况下才会使能USB口 而新做的板子
  • Socket编程 ——UDP 实验报告

    一 客户端数据反射交互 xff08 1 xff09 实验内容 要求 xff1a 利用数据报套接字实现数据传输 客户端创建UDP套接字 xff0c 向指定的服务端发送数据 xff1b 服务端接收到新数据 xff0c 显示是谁发送过来的 xff
  • Ubuntn设置程序开机启动 指定浏览器

    setp1 xff1a 设置jar开机启动 xff08 非服务启动方式 xff09 1 新建启动脚本 auto start sh xff08 并基于权限命令 xff1a sudo chmod 777 auto start sh xff09
  • 企业微信开发实战:自建审批流引擎

    1 概述 企业微信上是这样介绍的 不过经本人的研究测试 xff0c 该工作流引擎的功能是比较有限的 首先只有移动端才能发起 xff0c 流程的定义是必须在企业微信控制台中定义 xff0c 而且不支持条件分支 xff0c 适用于比较简单的应用
  • CmakeLists 复杂c++工程应用实例

    project vir data process cmake minimum required VERSION 2 8 add compile options std 61 c 43 43 11 include directories us
  • ROS学习笔记7_服务端Server

    在上图所示的模型中 xff0c Client作为请求的发送端 xff0c Server端接收Client发送的指令 xff0c 并且完成topic指令的发送 其中请求的信息类型是std srvs Trigger类 xff0c 同时返回一个R
  • char和int转换

    char和int的转换有两种方式 最简单的方法就是利用ASSCII码的差值 xff0c 直接用char的值减去 0 就行了 eg xff1a char a 61 39 9 39 int a 61 a 39 0 39 或者就用atof函数 x
  • printf缓冲区踩坑

    问题 碰到了这样一段代码 经过简化的 span class token macro property span class token directive hash span span class token directive keywo
  • PSINS学习笔记---姿态解算(1)---圆锥运动

    PSINS堪称中国导航领域的福音了 计划将工具箱中常用于工程实际中的相关算法根据个人理解做个解读注释 并且利用严老师网站中公开的数据集进行测试 由于个人水平有限 料想会漏洞百出 希望大家发现了不吝赐教 xff0c 感谢 xff01 1 加载
  • 使用matlab读取excel并作图

    在写论文时无奈非要用matlab xff0c 于是用地面站把传感器数据导出到了excel xff0c 用matlab画个图 用地面站向excel中读入数据 读入完保存即可 我读的是两种传感器数据 xff0c 一个是光流的位置值 xff0c
  • 坐标系梳理

    在很久以来 xff0c 我以为世界上只有两种坐标系 n系导航系和b系机体坐标系 最近在调试厂实验期间才知道原来还有特么这么多坐标系 机体系 xff1a 无人机 潜航器这些刚体自身的坐标系 xff0c 坐标系符合右手法则 xff0c x轴为机
  • 串口通信实现Int或float类型数据传输的方法

    方法 xff1a 发送方拆分数据为多个字节 xff0c 接收方再合并 串口通信程序中发送和接受数据以字节为单位 xff0c 将int或float类型的数据拆成单个字节存放到发送字符数组中 xff0c 然后接收方按照大小端模式将其重新合并为i
  • Gazebo Plugins教程

    Overview of Gazebo plugins Gazebo插件通过标准C 43 43 类直接控制Gazebo模型 xff0c 其具有以下优点 可以控制gazebo中几乎各个方面 xff1b 容易共享 xff1b 能够在运行的系统中插
  • 基于STM32读取SBG Ellipse A型号惯导数据

    之前在飞控上用的都是mpu6050 xff0c 但AUV在执行任务时主要在水下环境 xff0c 收不到GPS信号 xff0c 因此对INS的精度要求较高 xff0c 在姿态解算时要考虑地球自转等因素 xff0c 因此需要一款惯导器件能够感受
  • gcc-arm-none-eabi + scons环境搭建、固件烧录小记

    环境搭建在win7系统下进行 1 装git https gitforwindows org 正常下载即可 xff0c 装完后将git路径 xff08 D Program Files Git bin xff09 添加到环境变量中 添加方法 x
  • C语言中常用宏__FUNCTION_和__FILE__、__LINE__的用法介绍

    C C 43 43 提供了三个宏 FUNCTION FILE 和 LINE 用于定位程序运行时发生错误的位置 程序预编译时预编译器将用所在的函数名 xff0c 文件名和行号替换 当运行时错误产生后这三个宏分别能返回错误所在的函数 xff0c