专业编程基础技术教程

网站首页 > 基础教程 正文

老鸟惯用的C/C++ 调试技巧

ccvgpt 2024-08-11 15:08:46 基础教程 8 ℃

大家都知道这两种语言属于基础语言,下面介绍下基本的调试方法

老鸟惯用的C/C++ 调试技巧

调试宏

assert()

参数为一个断言为真的表达式,如果断言不为真,则发出一个错误信息告诉断言是什么并且程序终止。

#include<iostream>
amrzs@ubuntu:cc$g++main.cpp

消除宏代码

#include<cassert>之前插入#define NDEBUG

或者在编译器命令行中定义ndebug,可以消除宏产生的代码

#include<iostream>
amrzs@ubuntu:cc$g++main.cpp

变量字符串转换宏

变量表达式转换为字符串

在一个预处理器的宏中的参数前面使用一个#,预处理器会把这个参数转换成一个字符数组

#define P(A) cout << #A << ": " << (A) << endl;

当不想调试时,也可以插入一个#ifdef使得定义的P(A)不起作用。

调试标记:预处理器调试标记 和 运行期调试标记

常用的标记名为DEBUG(不能使用NDEBUG,是C中的保留字)

#defineDEBUG

C/C++还允许在编译器的命令行中使用#define#undef标记,使用可以用一个单独的命令重新编译代码并插入调试信息

修改自简书(Amrzs)

大家如果对编程感兴趣,想了解更多的编程知识,解决编程问题,帮你解决初学遇到的困惑,我们这里有java高手,C++/C高手,windows/Linux高手等,请关注我们的微信公众号:程序员互动联盟或者coder_online,期望您的关注

Tags:

最近发表
标签列表