`
chaotang0281
  • 浏览: 46148 次
  • 性别: Icon_minigender_2
  • 来自: 威海
社区版块
存档分类
最新评论

C 方便找错 方法

阅读更多

我们在用C写程序的时候,往往会用到一些运行错误,我们想定位错误在哪,又不想调试,通过是用一系列的printf打印一些信息,如果打印的信息太多,我们可能又不容易定位到到底是哪个地方打印的,现在咱们可以使用几个宏定义来解决这个问题。


__FILE__ 是 当前程序运行的文件

__LINE__ 是当前程序运行所在的行

__FUNCTION__ 是当前程序运行所在的函数。


下面举一个例子吧!

我现在在D:\project 有一个b.c,下面是b.c的内容

#include <stdio.h>

void fun()
{
    printf("%s\n", __FUNCTION__);
}


int main()
{
    printf("[%s][%d]\n", __FILE__, __LINE__);

    fun();
    
    system("pause");
    return 0;
}

 那现在看一下输出

[D:\project\b.c][11]
fun
请按任意键继续. . .

 可以试一下,以后帮助找错误,而且,把他当作一种习惯,一般你测试有可能在这块出错的时候,就用这几个宏。

 

分享到:
评论

相关推荐

    pinche_xcx-同城拼车微信小程序.zip

    寻车,达成,寻同路人,拼车出行,绿色...https://github.com/vincenth520/pinche_xcx_data项目截图点击查看项目截图使用教程拼车小程序无需后台的搭建示例关于配置同城拼车微信小程序后端关于登录已过期的调试找错方法

    C语言精校资料集合NNN

    大家应该知道荣耀前辈的《c语言的四书五经》吧,我特地在网上找了很久,将它们集在一起打包,方便大家。互联网上的资源良莠不齐,我很用心地筛选出了完整且质量极高的版本(有的质量真的很高,比如c how to program ...

    c语言编写单片机技巧

    答:对于复杂而开发时间紧的项目时,可以采用C语言,但前提是要求对该MCU系统的C语言和C编译器非常熟悉,特别要注意该C编译系统所能支持的数据类型和算法。虽然C语言是最普遍的一种高级语言,但不同的MCU厂家其...

    C语言上机问题解答

    为了更加方便读者的使用本软件和节约读者宝贵的时间,特将读者使用软件后给我们反馈的问题处理办法总结如下,望读者能够从中找到解决方案。 1、上机抽题后,无法打开考生文件夹中的做题文件,系统总是提示我没有...

    c文件代码格式阅读软件--notepad++源代码阅读器_v7.8.1.rar

    很多编程软件都用到了大量的库文件,比如arduino,有的时候需要打开这些c文件,如果用记事本打开,会出现没有分段,...我们需要一个能够自动分行,自动用不同颜色标注注释的工具软件,没错,notepad++就是你要找的。

    一键复制粘贴工具V1.6.zip

    数据进行复制粘贴,虽然可以通过Ctrl+C、Ctrl+V来完成,但这样不仅繁琐、容易按错,长时间重复操作后还会感觉手指疲劳。基于以上原因,找了此程序,实现了一键复制粘贴的功能,主要特点如下: 1、可自定义操作热键...

    emule0.50a-Xtreme8.1源码(VS2008下可无错编译成功)

    网上下载了emule0.50a-Xtreme8.1-sources源码,声称...为方便诸多象我一样的初学者,我把修正之后,可以在 XP/WIN2003 +VS2003SP1 环境下直接编译成功的emule0.50a-Xtreme8.1-sources源码发布上来,以便互相学习交流。

    java 面试题 总结

    Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。 与cgi的区别...

    代码语法错误分析工具pclint8.0

    C语言的灵活性带来了代码效率的提升,但相应带来了代码编写的随意性,另外C编译器不进行强制类型检查,也带来了代码编写的隐患。PCLint识别并报告C语言中的编程陷阱和格式缺陷的发生。它进行程序的全局分析,能识别...

    超级有影响力霸气的Java面试题大全文档

     SessionBean: Stateless Session Bean 的生命周期是由容器决定的,当客户机发出请求要建立一个Bean的实例时,EJB容器不一定要创建一个新的Bean的实例供客户机调用,而是随便找一个现有的实例提供给客户机。...

    JavaScript Table行定位效果

    程序用的方法是,从当前td开始找,如果背景是透明的话,就再从父节点中找,直到找到有背景色为止。 一般来说透明的属性值是"transparent",但在chrome里却是"rgba(0, 0, 0, 0)",所以用了一个属性来保存透明值: ...

    汽车驾驶教程图解

     c.用食指到小手拇指四个手指握住转向盘,再加上拇指轻轻握住转向盘。  2.掌握转动转向盘的要领  向右转动转向盘的手法  1)从右手开始,左手为主用力开始转。  2)以左手为主继续转动  3)左手转动转向。  4)...

    语言程序设计课后习题答案

    在C++中,有两种给出注释的方法:一种是延用C语言方法,使用"/*"和"*/"括起注释文字。另一种方法是使用"//",从"//"开始,直到它所在行的行尾,所有字符都被作为注释处理。 2-8 什么叫做表达式?x = 5 + 7是一个...

    Editplus 3[1].0

    其它提示找不到文件的解决方法同上 【10】软件技巧——设置editplus支持其它文字,如韩文 在editplus里打开文件,出来打开文件对话框;然后点击“转换器”后面的那个省略号,会出来自定义转换器对话框;在右边选择...

    [数据库设计]超市管理系统设计

    采用数据转储和登录日志文件两种方法结合的方法备分数据库。 针对不同的故障,制定恢复策略 1、事务故障的恢复策略 (1)反向扫描日志文件,查找该事务的更新操作. (2)对事务的更新操作执行逆操作. (3)继续反向扫描...

    手机行业常用知识(普及)

    卡、不入网、黑屏、低电报警故障,用免拆机方式处理软件故障很方便,不用拆机,不改变手机的串号IMEI,对手机内部电路也无须影响。 免拆机处理方式不是很万能的,如果手机不能开机或碰到其他一些没有免拆机处理程序...

    editplus 代码编辑器html c++ jsp css

    其它提示找不到文件的解决方法同上 【10】软件技巧——设置editplus支持其它文字,如韩文 在editplus里打开文件,出来打开文件对话框;然后点击“转换器”后面的那个省略号,会出来自定义转换器对话框;在右边选择你...

    Pluto1_9_9_2.rar

    自动判断是调试环境还是生成环境,使得调试环境和生产环境统一,调试更方便 V1.6.2版 普鲁托安全Web应用专家是基于HttpServer中间件,利用C++Builder制作的一个Web服务器。 思路 能不能让这个服务器支持jsp和...

    软件测试规范

    猜错法 .................................................................................................................................................. 8 5.随机数法 ....................................

    firefox 14 和网页开发的插件

    没错,这是一个集众多页面测试功能于一身的强大火狐插件,能够查看CSS错误和Cookies 信息,设置突出显示表格、Heading、图片URL等几乎所有页面元素,这对页面调试非常有用,尤其当页面结构非常复杂的时候,这些工具...

Global site tag (gtag.js) - Google Analytics