首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C语言打印程序行号、日期方便调试程序

一、前言 平时开发C语言程序时,经常需要调试代码,C语言有一些宏,可以打印出当前的行号、文件名称、日期、时间,对程序的调试起到很大的帮助,可以快速定位问题。...ANSIC标准定义了可供C语言使用的预定义宏: __LINE__ : 在源代码中插入当前源代码行号 __FILE__ : 在源代码中插入当前源代码文件名 __DATE__ : 在源代码中插入当前编译日期...二、打印示例 printf("编译日期与时间: %s,%s\n", __DATE__,__TIME__); printf("当前所在行号:%d\r\n", __LINE__); printf("当前源文件名称...,如果程序稳定后,不需要打印调试信息,就可以将DEBUG的定义取消掉即可。...return 0; } #endif int main() { DebugPrintf("编译日期与时间: %s,%s\n", __DATE__,__TIME__); DebugPrintf("当前所在行号

2.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux小技巧:如何在 Vim 中显示行号

    Vim 是一款出色的编辑器,大多数 Linux/UNIX 系统管理员每天都喜欢并使用它。 你可能会想,“如果 Vim 可以显示行号,我会立即切换到 Vim”。...实际上,你可以在 Vim 中显示三种行号: 绝对行号 相对行号 混合行号 让我们更深入地了解一下。...在 Vim 中显示相对行号 当您启用了相对行号时,这意味着您当前所在的行是行号 0,并且光标上方和下方的行连续编号为 1、2、3。...如果已经切换了相对行号,设置此选项将禁用相对行号。 在 Vim 中总是显示相对的行号 您尝试了相对行号,并且您喜欢它。...显示混合行号 混合行号是绝对行号和相对行号的混合,当混合编号模式打开时,光标所在的行将具有绝对编号,而每隔一行将具有相对编号。

    11.1K00

    Linux正则匹配详解

    )是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。...linux使用GNU版本的grep。它功能更强,可以通过-G、-E、-F命令行选项来使用egrep和fgrep的功能。...默认是空格或者\t NF 当前记录的字段个数 就是有多少列 NR 已经读出的记录数,就是行号,从1开始,如果有多个文件话,这个值也是不断累加中 FNR 当前记录数,与NR不同的是,这个值会是各个文件自己的行号...=,>,=,<= 逻辑运算符 &&多个条件且||多个条件或 正则匹配 awk使用的RE为扩展正则表达式,匹配格式为/reg/ 定位行: NR==行号 用RE: /^Disk/ 字符串匹配: ~匹配...有改动OFS才能生效 printf与print的区别: printf不自动打印换行符,print则自动打印换行符 gsub的返回值并不是替换后的字符串,而是返回替换的次数 字符串常量一定用在"“包围起来

    11.7K20

    vsnprintf字符串格式化输出实例:日志中打印程序名和行号

    Linux C/C++程序中打印日志时,可能会由于需要打印未知个数的变量参数,那么vsnprintf函数就排上用场了。...这里使用一个简单的C程序例子,演示在打印源程序文件名和该打印函数所在的行号的同时,使用vsnprintf函数打印个数未知的参数变量。...需要说明的三个地方: 1 2 3 静态全局变量 c_FileName 和 i_FileLineNum 分别用于存储源程序文件名和打印函数所在的行号; 自定义标识符 PRINT 先调用源程序文件名和行号的赋值函数...@Describe A simple example for using vsnprintf to print the name and line-num of source file in linux...PRINT( "[%s]", "Hello." ); PRINT( "[%s %s]", "Hello", "world." ); return 0; } 2 编译执行 使用《Linux

    42010
    领券