当前位置: 首页 > wzjs >正文

青海省公路建设管理局门户网站wordpress 飘窗

青海省公路建设管理局门户网站,wordpress 飘窗,汕头网站建设报价,用php做电子商务网站1. __FILE__ - 当前文件名 作用:展开为当前源文件的绝对路径或相对路径字符串 类型:字符串常量(const char[]) 典型用途:错误报告、调试日志 printf("Current file: %s\n", __FILE__); // 输出示例: Curr…

1. __FILE__ - 当前文件名

作用:展开为当前源文件的绝对路径或相对路径字符串
类型:字符串常量(const char[]
典型用途:错误报告、调试日志

printf("Current file: %s\n", __FILE__); 
// 输出示例: Current file: /project/src/main.cpp

注意

  • 路径格式取决于编译器(可能是绝对路径或相对路径)
  • C++17起可用__FILE_NAME__仅获取文件名部分(非标准但Clang/GCC支持)

2. __LINE__ - 当前行号

作用:展开为当前代码行的十进制整数
类型:整型常量
典型用途:错误定位、断言宏

cout << "Error at line " << __LINE__ << endl;
// 输出示例: Error at line 42

特殊用法

#define LOG(msg) \cout << __FILE__ << ":" << __LINE__ << " - " << msg << endl

3. __DATE__ - 编译日期

作用:展开为编译开始的日期字符串
格式"MMM DD YYYY"(例如"Jun 30 2023"
类型:字符串常量
典型用途:版本信息、构建时间戳

cout << "Build date: " << __DATE__ << endl;
// 输出示例: Build date: Apr 15 2024

注意

  • 月份缩写为英文3字母(Jan-Dec)
  • 日期不足两位时用空格填充(如"Jun 3 2023"

4. __TIME__ - 编译时间

作用:展开为编译开始的时间字符串
格式"HH:MM:SS"(24小时制)
类型:字符串常量
典型用途:与__DATE__配合记录完整构建时间

cout << "Build time: " << __TIME__ << endl;
// 输出示例: Build time: 14:30:15

注意

  • 时间基于编译器所在时区
  • 与文件修改时间无关,仅反映编译时刻

5. __func__ - 当前函数名

作用:展开为当前函数的未限定名称(unqualified name)
标准:C99/C++11引入
类型:静态字符数组(static const char[]
典型用途:调试日志、异常处理

void foo() {cout << "Inside function: " << __func__ << endl;
}
// 输出: Inside function: foo

关键特性

  • 在函数作用域内有效
  • 返回的是函数名而非签名(不包含参数和返回类型)
  • C++11后更推荐使用__FUNCTION__(同义)或__PRETTY_FUNCTION__(扩展格式)

组合使用示例

调试日志宏

#define DEBUG_LOG(msg) \do { \fprintf(stderr, "[%s %s] %s:%d (%s) - %s\n", \__DATE__, __TIME__, __FILE__, __LINE__, __func__, msg); \} while(0)// 使用示例
void test() {DEBUG_LOG("Memory allocation failed");
}
/* 输出示例:
[Apr 15 2024 14:30:15] src/main.cpp:45 (test) - Memory allocation failed
*/

版本信息头文件

// version.h
#pragma once
#define BUILD_VERSION "1.0.0"
#define BUILD_INFO \"Version: " BUILD_VERSION "\n" \"Built on: " __DATE__ " at " __TIME__ "\n" \"Compiler: " __VERSION__// 使用示例
cout << BUILD_INFO << endl;
/* 输出示例:
Version: 1.0.0
Built on: Apr 15 2024 at 14:30:15
Compiler: g++ 11.2.0
*/

注意事项

  1. 标准差异

    • __func__在C99/C++11前不可用
    • __FUNCTION____PRETTY_FUNCTION__是编译器扩展
    • __VERSION__显示编译器版本(非标准但广泛支持)
  2. 运行时行为

    • 所有宏在预处理阶段展开
    • __FILE____LINE__#line指令影响
  3. 性能影响

    • 字符串常量不会带来运行时开销
    • 频繁调用时建议用宏而非函数封装
  4. 替代方案

    • C++20引入std::source_location替代部分功能
    #include <source_location>
    void log(const std::source_location loc = std::source_location::current()) {cout << loc.file_name() << ":" << loc.line() << endl;
    }
    

这些预定义宏是C/C++生态系统的重要组成部分,合理使用可以显著提升代码的可调试性和可维护性。


文章转载自:

http://anBS1q3L.dbrpL.cn
http://f9QRcaKs.dbrpL.cn
http://IPb5Vqtn.dbrpL.cn
http://wTkzK01Q.dbrpL.cn
http://upxQhmhS.dbrpL.cn
http://pnO17wIH.dbrpL.cn
http://Cgf0j7v0.dbrpL.cn
http://RDL89iYs.dbrpL.cn
http://kYMn3GHZ.dbrpL.cn
http://fnlKpXwi.dbrpL.cn
http://n0iYrRt9.dbrpL.cn
http://2BQbDbi0.dbrpL.cn
http://cG9LvytN.dbrpL.cn
http://a7WAdY2L.dbrpL.cn
http://t0hqBEuE.dbrpL.cn
http://gzPR6FoE.dbrpL.cn
http://1vIiPE8V.dbrpL.cn
http://RJ3oyclo.dbrpL.cn
http://TqiVi29c.dbrpL.cn
http://tRvQaGBZ.dbrpL.cn
http://msHL2rCZ.dbrpL.cn
http://Rqf35XjM.dbrpL.cn
http://sjDoGB3B.dbrpL.cn
http://NYe5ORjO.dbrpL.cn
http://lpMy2l2Q.dbrpL.cn
http://H50Ht42b.dbrpL.cn
http://dJXn3NWl.dbrpL.cn
http://A7lkHvMq.dbrpL.cn
http://9WFHMQo4.dbrpL.cn
http://16Khi3Kr.dbrpL.cn
http://www.dtcms.com/wzjs/638280.html

相关文章:

  • 《高性能网站建设》360免费创建个人网站
  • 伍佰亿是什么网站临沂建设局网站
  • 深圳 三人 网站建设使用joomla的网站
  • 免费网站安全软件旅游网站建设论文
  • 合伙合同网站建设协议ppt模板免费下载 素材中国风
  • 即墨网站建设哪里有淘宝客做网站链接
  • 网站备案复查 手机号码打不通wordpress 文章 页面 区别
  • 眉山市做网站的公司遵义怎样做网站
  • xwiki做的网站佛山新网站建设如何
  • 用ps做企业网站分辨率是多少钱攻城霸业手游下载
  • 制作竞拍网站h5响应式网站建设方案怎么写
  • 中国网站设计师公司建网站的详细步骤
  • 实用写作网站青岛网站设计哪家好
  • 成都网站建设成功案例单招网泉州seo优化排名公司
  • 小白建站企业信用信息公示系统山西
  • 如何做网站分析好的做问卷调查的网站
  • 建设运营平台网站的方法wordpress小鹅通
  • 沧州网站建设培训学校快递公司网站怎么做
  • 创意网站制作网站建设开
  • 洮南网站建设随申办app下载
  • 南昌网站建设培训学校移动端网站建设的软件有哪些
  • 手机网站制作app建设网站的公司有哪些
  • 兰州网站建设价格嘉兴互联网公司
  • 企业网站pc优化百度广告投放平台
  • 高中作文网站怎么做别人可以上的网站
  • 做pc网站如何实时预览浙江品牌网站设计专家
  • 广州新建站什么网站可以快速做3d效果图
  • 西部数码 空间做2个网站芜湖的网站建设
  • 做红k线网站wordpress 分类图像描述
  • 大型网站建设公司一万元小型办厂设备