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

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

一、前言 平时开发C语言程序时,经常需要调试代码,C语言有一些宏,可以打印出当前的行号、文件名称、日期、时间,对程序的调试起到很大的帮助,可以快速定位问题。...ANSIC标准定义了可供C语言使用的预定义宏: __LINE__ : 在源代码中插入当前源代码行号 __FILE__ : 在源代码中插入当前源代码文件名 __DATE__ : 在源代码中插入当前编译日期...__TIME__ : 在源代码中插入当前编译时间 其中标识符__LINE__和__FILE__一般用来调试程序,打印信息,方便定位错误。...当前源文件名称:%s\r\n", __FILE__); printf("当前固件编译日期:%s\r\n", __DATE__); printf("当前固件编译时间:%s\r\n", __TIME__); 三、C语言封装快捷...(USARTx->SR&1<<7)){} } } //printf函数底层函数接口 int fputc(int c, FILE* stream) { USART1->DR=c;

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

    esp32c3使用openocd调试程序

    esp32c3使用openocd调试程序 1.概述 1.1 内置的JTAG接口 1.2 外置的jtag接口 2.esp32c3 nuttx程序的编译与下载 2.1 编译nuttx 2.2 程序下载 3....调试程序 3.1 使能芯片JTAG 3.2 确保调试器硬件连接正常 3.3 下载esp32c3的openocd程序 3.4 在控制台中启动openocd 3.5 启动gdb调试 4.调试裸机程序 1.概述...2.2 程序下载 启动esp32c3需要下面的固件 bootloader-esp32c3.bin partition-table-esp32c3.bin nuttx 上面两个固件可以到下面的地址下载 https...然后启动串口调试助手,可以看到esp32c3可以正常启动nuttx。 3.调试程序 当线路连接完成,并且程序下载进去后,就可以开始进行调试工作了。 3.1 使能芯片JTAG 设置使能JTAG。...3.3 下载esp32c3的openocd程序 可以到官方的网站上下载对应版本的esp32c3的openocd程序。

    3.4K30

    何用三个月搞定C语言

    C语言上个世纪七十年代诞生至今,已经度过了40多个春秋,在此期间经历多次的版本的更迭,目前市面上绝大部分语言的底层实现都是基于C语言,随着C语言之父的逝去,C语言的生命力还是依旧那么强势,绝大部分程序爱好者还是选择...C语言作为入门语言。...C语言作为入门语言的几个优点 (1) C语言历史最为悠久,目前市面上几乎所有的编程语言的底层都用C作为基础,所以从C开始对于后期软件框架的理解,还是存在极大的好处。...(2).C语言是除了汇编语言之外最靠低底层的语言在执行效率上有着无可比拟的优势,特别是服务端或者大型程序的执行效率非常重要,C语言几乎是不二的选择,从事这方面工作的小伙伴,选择C语言入门也是理所当然的。...4.C语言从源程序到可执行程序 5.常用的C语言编程工具 6.C语言基础学完学什么

    90150

    何用C语言快速实现初级版扫雷(步骤详细)

    周围雷数 雷区展开 胜利判断 显示用时 ---- 前言 ---- https://www.saolei123.com/ 附上扫雷小游戏链接,先来体味感受下真正的扫雷是怎样的 本文章为手把手讲解实现C语言扫雷...问题描述 ---- 用C语言实现小游戏扫雷初级版(9x9棋盘/10个地雷) 工具 vs2019 基本思路和流程 ---- 扫雷的规则 尽快找出雷区中的所有不是地雷的方块 根据点击格子出现的数字找出所有非雷格子...代码实现思路 1.菜单选择开始或者退出游戏 2.初始化并打印雷区 3.第一次免雷和周边雷排查 4.雷区展开 5.判断胜利 6.游戏结束后展示玩家用时 实现步骤 ---- 模块化 1.test.c ...:写整个游戏实现思路流程 2.game.c: 写游戏实现思路中的各个函数的定义,完成函数内容实现函数功用 3.game.h :引用需要用到的头文件,以及对各个自定义函数的声明 (其他模板上方只需要加上...+) { int j = 0; printf("| %d |", i);//1-9打印最左排数字 for (j = 1; j <= col; j++) { printf(" %c

    67530

    何用C语言快速实现三子棋(步骤详细)

    打印 考虑如何实现图表 提供代码 效果图  玩家落子 考虑问题 参考代码 电脑实现落子 简单落子(实现随机数) 参考代码 判断 采取返回值 参考代码 整体游戏流程代码 下附源码 game.h test.c...game.c ---- 前言 ---- 检验学习成果最好的方式是实践 在学习完C语言的函数和数组以后,就可以简易的实现一些小游戏 本文章为手把手讲解实现C语言三子棋(好好看,相信不会太难的说)...问题描述 用C语言实现小游戏三子棋 工具 vs2019 基本思路和流程 ---- 三子棋的规则 在3X3的棋盘里,率先将三个棋子连成一条直线则胜出 代码实现思路 1.菜单界面:选择开始或者退出游戏...2.初始化棋盘并打印棋盘 3.玩家选择落子坐标 4.电脑实现落子 5.每次落子判断输赢平还是继续 实现步骤 ---- 模块化 1.test.c :写整个游戏实现思路流程 2.game.c...|", board[i][j]); else printf(" %c ", board[i][j]); } printf("\n");//换行 if (i < row - 1)

    39830

    扫雷小游戏————如何用C语言实现(附带所有代码)

    如何一步步实现扫雷 整体思路 大概框架 棋盘的定义以及初始化 放雷环节 扫雷环节(Death or Survive) 完整代码 头文件 game.c源文件 测试源文件 https://live.csdn.net.../v/embed/242979 C语言实现扫雷自由 整体思路 对于上面视频所示,我们该如何用C语言来实现呢?...其次,我们需要两个.c源文件,一个用来存放函数的定义,另一个用来作为测试。这两个环节是必备的,它会使我们的代码看起来条理更加清晰,可读性更加好。...有了上面的框架,我们就可以在.c文件里书写定义以及在.h文件里写函数说明了。..."); for (i = 1; i <= row; i++) { printf("%d ", i); for (j = 1; j <= col; j++) { printf("%c

    93810

    C++】C 语言C++ 语言的关系 ( C 语言发展 | C 语言缺陷 | C 语言 + 面向对象 + 高级语言特性 | C++ 语言增加内容 | C 语言C++ 语言应用场景 )

    等标准库 , 功能得到了极大的增强 ; 成熟阶段 : 1988年至1998年 , C语言成熟,推出 C语言标准和规范 , : ISO/IEC 9899 ; 现代阶段 : 1998年至今,C语言 推出...; C 语言 在开发时 , 有很多 " 灰色地带 " , 稍不注意就会产生无法排查的问题 , : 内存的管理 - 分配和释放内存 , 指针操作 - 野指针 , 类型转换时精度损失 , 并发死锁 等问题...; C 语言 有很多 " 低级语言的特征 " , : 可以直接访问内存 , 没有垃圾回收机制 , 需要手动管理内存 , 可以直接访问硬件 - 读写端口 / 控制中断 ; C 语言 直接 通过 "...指针 " 操作 " 内存 " , 造成了很多不可排查的错误 , : 野指针 ; 尽管 C 语言有上述缺陷 , 但是 C 语言有一个优势 , 那就是 执行效率 非常高 ; 三、C 语言 + 面向对象...语言 , : Objective-C , 主要用于 Mac 软件和 iPhone / iPad 软件开发 ; C++ , 用途广泛 , Windows / Linux 都可以使用 C++ 语言 ;

    27720

    C语言】初识C语言(常见的C语言概念)

    一.C语言是什么?...语言大致可以分为自然语言和计算机语言,自然语言就是人与人日常交流的语言汉语、英语、日语等等,计算机语言又可以分为机器语言、汇编语言、高级语言C语言就是一个高级语言 机器语言:就是由二进制01组合起来的计算机可以直接识别的程序语言是一种面向机器的语言...,比起低级语言易懂易学,可移植性好,编程效率高,但是执行效率没有低级语言高,需要经过编译或解释,C语言就是采用编译的一种高级语言 二.为什么选择C语言 C语言常年霸榜各类高级语言前三,属于基础必学的语言...,其功能强大,而且许多语言都很相似,如果学好C语言,对学习其他语言也有很大帮助 三.编译器的选择 C语言是一门编译型的语言,需要依赖编译器将计算机语言转换成机器能够执行的机器指令 常见的编译器有:msvc...: #include 八.关键字介绍 C语⾔中有⼀批保留的名字的符号,⽐:int 、if、return ,这些符号被称为保留字或者关键字,现在只需要混个眼熟和概念,后面会一一讲到。

    9510

    业务高速增长,祺出行如何用腾讯云消息队列 RocketMQ 应对挑战

    导语 作为广汽集团旗下的智慧出行平台,祺出行上线四年时间,用户规模和订单量保持高速增长。...在过去的2022年,祺出行平台累计注册用户突破1800万,同比增长64%,年度订单总量超7000万,同比增长52%。 高速增长的用户规模和订单量,对技术平台提出更高要求。...为了提升架构的稳定性,保障用户体验,祺出行于2021年启动架构升级。其中,引入消息队列做异步化是整个分布式架构设计的核心手段之一。...祺打车业务流程介绍 在整个下单流程中,从预估到下单,再从派单到开始服务,最后到费用结算,一共要经过 20+ 流程环节,其中计费订单系统是所有系统的核心,从用户输入上下车地点,背后的业务系统就开始工作...新的 SDK 带来更好的开发体验和多语言生态支持。 大数据生态更好的对接,更好的支持实时和流计算的体验。

    26940

    C语言C语言入门知识

    一、主函数 C语言的主函数是main()函数,有且仅有一个。 例如: int main() { return 0; } 是一个标准的C语言主函数。...二、输入、输出函数 C语言中的输出函数为printf,输入函数为scanf,使用前需要引用头文件#include 。...(2)C语言中的常见单位(从小到大): bit(比特)<byte(字节)<KB<MB<GB<TB<PB<..... 1byte = 8bit 1KB = 1024byte 1MB = 1024KB...四、变量和常量 4.1 变量的使用 C语言中常量是不变的值,变量是可变的值 创建变量的使用: int age = 10; char ch = 'w'; float weight = 45.5f...4.3 常量 C语言中的常量分为字面常量,const修饰的常变量,#define 定义的标识符常量,枚举常量。 (1)字面常量:100,'w',3.14等。

    15710
    领券