ITPub博客

首页 > 应用开发 > Javascript > C++中的三个特殊宏:__FILE__,__FUNCTION__和__LINE__

C++中的三个特殊宏:__FILE__,__FUNCTION__和__LINE__

原创 Javascript 作者:新时代的码农 时间:2023-05-17 18:57:22 0 删除 编辑

__FILE__宏用于检查当前文件名,例如:


Copy

#include <cstdio>

using namespace std;


int main() {

    printf("%s\n", __FILE__);

    return 0;

}


假如这段代码保存为a.cc,就会输出a.cc。这在大项目多文件时调试时很有用。


__FUNCTION__宏#

__FUNCTION__宏输出当前函数名,例如:


Copy

#include <cstdio>

using namespace std;


void foo() {

    printf("%s\n", __FUNCTION__); // 输出foo

}


void bar() {

    printf("%s\n", __FUNCTION__); // 输出bar

}


int main() {

    foo();

    bar();

    printf("%s\n", __FUNCTION__); // 输出main

    return 0;

}


可以帮助我们快速定位错误发生的位置。


__LINE__宏#

输出当前代码是该文件中的第几行,例如:


Copy

#include <cstdio>

using namespace std;


void foo() {

    printf("%d\n", __LINE__); // 输出5

}


void bar() {

    printf("%d\n", __LINE__); // 输出9

}


int main() {

    foo();

    bar();

    printf("%d\n", __LINE__); // 输出15

    return 0;

}


总结#

联合这三个宏,我们输出调试信息时就可以快速定位错误发生的位置啦。


复制 

Copy

printf("%s:%d[%s] Error: xxxx\n", __FILE__, __LINE__, __FUNCTION__);


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70030103/viewspace-2952837/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2023-05-17

  • 博文量
    11
  • 访问量
    6008