当前位置:首页>面试真题>【C++ 面试真题】inline 函数真的会被"内联"吗?

【C++ 面试真题】inline 函数真的会被"内联"吗?

  • 2026-08-12 13:45:41
【C++ 面试真题】inline 函数真的会被"内联"吗?

【C++ 面试真题】inline 函数真的会被"内联"吗?

inline 是 C++ 里误解最深的关键字之一。很多人以为"加了 inline 就一定会被展开",或"没加 inline 就一定不会展开"——两个都是错的。这道题考的不是语法,而是你对编译器行为和 **ODR(一次定义规则)**的理解。本文用问答的方式,把 inline 一次讲透。


一、先说结论:inline 是"建议",不是"命令"

❓ inline 函数真的会被"内联"吗?

✅ 不一定inline 这个关键字对编译器来说只是个建议(hint),编译器有权采纳,也有权拒绝

  • • 采纳 → 把函数调用替换成函数体本身(省去调用开销);
  • • 拒绝 → 当成普通函数,老老实实 call。

而且反过来也成立:一个函数没加 inline,编译器也可能自己把它内联掉(优化开了就有)。所以 inline 关键字和"是否真内联",不是等号关系

💡 记一句话inline 的核心作用其实早就不是"请求内联",而是允许函数被多个翻译单元重复定义而不报错(解决 ODR)。"请求内联"反而成了次要的副作用。

这一点是很多人没意识到的历史变迁。inline 刚引入时(C++ 早期),它的首要目的确实是"请求内联展开"。但随着编译器越来越聪明——能自己决定内联、甚至无视你的 inline——这个关键字作为"请求"的意义就淡了。如今它最不可替代的作用,反而是放宽 ODR。面试官听到你能讲清这个"职责转移",会立刻觉得你是真懂而不是背书。


二、为什么不直接用宏?

❓ 想要"内联展开",C 的宏 #define 也能做到,为什么要搞 inline?

✅ 宏展开确实没有调用开销,但它没有类型检查、没有作用域、容易出错。inline 函数本质还是函数,有类型检查、有作用域、可调试,是宏的安全替代品。

// 宏:危险的"伪函数"
#define SQUARE(x) ((x) * (x))

int
 n = SQUARE(i++);  // ❌ i 自增两次!

// inline:安全的真函数

inline int square(int x)
{
    return
 x * x;
}
int
 m = square(i++);  // ✅ i 只自增一次

🎯 结论:宏是"文本替换",inline 是"真正的函数"。要消除调用开销,优先用 inline,别用宏。


三、编译器什么时候会拒绝内联?

❓ 加了 inline 就一定会展开吗?什么情况会被拒绝?

✅ 不会。编译器拒绝内联的常见情况:

  • • 函数体太长/太复杂(循环、递归、大量分支);
  • • 函数被递归调用(无法展开成线性代码);
  • • 函数是虚函数(运行期才知调用谁,编译期没法展开);
  • • 调试构建下(-O0),编译器通常关闭内联以便调试。
// 大概率不会被内联:递归 + 复杂
inline int fib(int n)
{
    if
 (n <= 1) return n;
    return
 fib(n-1) + fib(n-2);  // ❌ 递归
}

反过来,编译器在 -O2 下可能背着你自己内联一个没加 inline 的短函数。最终是否内联,由编译器的优化策略决定,inline 关键字只是建议

💡 加分点:现代编译器(GCC/Clang)有更强的控制符——__attribute__((always_inline)) 或 __forceinline(MSVC)才能强制内联。标准 inline 做不到强制。

编译器决定是否内联时,会综合考虑函数大小、调用频率、是否在热路径等因素。它的目标是"内联后整体更快",而不是"机械执行你的 inline 标记"。所以写代码时别纠结要不要加 inline 来"省一次调用"——把函数写短、写清晰,剩下的交给优化器。


四、inline 的真正作用:解决 ODR

❓ 既然不一定内联,那 inline 关键字到底干嘛用?

✅ 这是最核心的考点。inline 的真正价值是放宽 ODR(One Definition Rule,一次定义规则)

普通规则:一个非 inline 函数只能在一个翻译单元里定义,否则"重复定义"链接报错。但头文件被多个 .cpp 包含时,函数定义会出现在多个翻译单元里——这时必须加 inline:

// math.hpp(被多个 .cpp 包含)
inline int add(int a, int b)
{
    return
 a + b;
}   // ✅ inline 允许多次定义
// a.cpp
#include "math.hpp"   // add 在此定义

// b.cpp

#include "math.hpp"   // add 又定义了一次

// 不加 inline → 链接报错(重复定义)

// 加 inline → ✅ 链接器去重,没问题

⚠️ 关键:链接器看到多个翻译单元里都有 inline 函数的定义时,会任选其一、丢弃其余(要求各份定义完全一致)。这就是 inline 解决 ODR 的机制。

这也是为什么类内定义的成员函数自带 inline 属性——因为它通常写在头文件里,会被多次包含:

struct Widget {
    // 类内定义,隐式 inline

int get() const
{ return val; }
private
:
    int
 val = 0;
};

五、C++17 新特性:inline 变量

❓ inline 只能修饰函数吗?

✅ C++17 之前是的。C++17 引入了 inline 变量,允许变量也享受同样的 ODR 放宽——主要解决了类内静态成员变量的初始化老问题。

struct Config {
    // C++17:类内直接定义,隐式 inline

    static
 inline int kMax = 100;
    // 无需再在 .cpp 里写

    // int Config::kMax = 100;

};

C++17 之前,静态成员变量必须"类内声明、类外定义",非常繁琐。inline 变量一举解决了这个问题。

🎯 加分点constexpr 静态变量其实也隐含 inline(C++17 起)。所以 static constexpr int x = 5; 和 static inline int x = 5; 在 ODR 层面等价,但前者还多了"编译期常量"的语义。


六、inline 的代价与坑

❓ inline 有什么副作用?

✅ inline 不是免费午餐,有几个代价:

  1. 1. 代码膨胀(code bloat):函数体被展开到每个调用点,二进制体积变大;
  2. 2. 修改触发重编译:inline 函数改了,所有包含它的文件都要重新编译(而普通函数只需重链);
  3. 3. 滥用降低缓存命中:代码体积大了,指令缓存命中率下降,反而变慢。

⚠️ 实践建议:只对短小、频繁调用的函数加 inline(一两行那种)。又长又复杂的函数加 inline,除了代码膨胀,没有好处。


七、核心规则速查表

维度
规则
是否一定内联
否,只是建议
没加会被内联吗
可能,编译器自行决定
真正作用
放宽 ODR,允许多次定义
类内定义
隐式 inline
inline 变量
C++17 引入
强制内联
需编译器扩展属性

八、面试高频追问

❓ Q1:inline 函数和宏的区别?

✅ 宏是文本替换,无类型检查、无作用域;inline 函数是真正的函数,有类型检查、有作用域、可调试。inline 是宏的安全替代品。

❓ Q2:虚函数能 inline 吗?

✅ 语法上能加 inline,但通常不会被内联——虚函数通过虚表在运行期决定调用谁,编译期没法展开。例外:如果编译期能确定具体类型(如直接通过对象而非指针/引用调用),编译器可能内联掉。

❓ Q3:inline 函数定义放头文件还是源文件?

✅ 放头文件。因为 inline 的意义就是允许被多个翻译单元包含,放 .cpp 里别的文件看不到定义,无法内联,也失去 inline 的意义。

❓ Q4:构造函数和析构函数能 inline 吗?

✅ 语法上能,但要小心。它们看似空,实际编译器会插入大量隐式代码(成员构造、基类构造、异常处理等),实际函数体可能很长,内联收益往往不如想象。

❓ Q5:inline 和 static 修饰函数有什么区别?

✅ static 让函数内部链接(每个翻译单元各有一份独立副本);inline 让函数外部链接但允许重复定义(链接器去重保留一份)。现代 C++ 头文件函数推荐用 inline 而非 static——后者会造成代码重复。


九、总结速查表

场景
推荐做法
头文件里的短函数
加 inline
又长又复杂的函数
别加 inline
类内定义成员函数
自动 inline,不用写
类内静态成员变量
C++17 用 inline 变量
强制内联
用编译器扩展属性

一句话回顾

inline 的本质,早已不是"请求内联",而是放宽 ODR、允许多次定义。是否真的内联由编译器决定——记住"加 inline 不一定展开,没加也可能展开",这题就稳了。

如果您觉得本篇内容对你有帮助,欢迎点赞 👍、收藏 ⭐、转发 📢。下期我们聊聊 explicit 防止了什么,敬请关注 👋

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-12 19:50:07 HTTP/2.0 GET : https://15386.cn/a/471250.html
  2. 运行时间 : 0.247467s [ 吞吐率:4.04req/s ] 内存消耗:4,291.60kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=79927823dbd9cacfc51de696d9e50386
  1. /yingpanguazai/ssd/ssd1/www/no.15386.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/no.15386.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/no.15386.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/no.15386.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/no.15386.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/no.15386.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/no.15386.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/no.15386.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/no.15386.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/no.15386.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/no.15386.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/no.15386.cn/runtime/temp/97c957f747c268aee476c4e16775dd7c.php ( 12.06 KB )
  140. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000987s ] mysql:host=127.0.0.1;port=3306;dbname=no_15386;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001371s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.011540s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000703s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001376s ]
  6. SELECT * FROM `set` [ RunTime:0.000567s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001480s ]
  8. SELECT * FROM `article` WHERE `id` = 471250 LIMIT 1 [ RunTime:0.008815s ]
  9. UPDATE `article` SET `lasttime` = 1786535407 WHERE `id` = 471250 [ RunTime:0.010302s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 65 LIMIT 1 [ RunTime:0.001381s ]
  11. SELECT * FROM `article` WHERE `id` < 471250 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.005590s ]
  12. SELECT * FROM `article` WHERE `id` > 471250 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.010978s ]
  13. SELECT * FROM `article` WHERE `id` < 471250 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.016568s ]
  14. SELECT * FROM `article` WHERE `id` < 471250 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.002374s ]
  15. SELECT * FROM `article` WHERE `id` < 471250 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.005483s ]
0.252526s