乐于分享
好东西不私藏

我让 AI 修改一个 C++ 项目后,发现程序员真正危险的不是写代码

我让 AI 修改一个 C++ 项目后,发现程序员真正危险的不是写代码

很多程序员第一次真正感到不安,不是因为 AI 会聊天,也不是因为它会写八股文。

而是因为它开始能改代码了。

以前我们还能安慰自己:它只是补全几行、写个脚本、生成一段 demo。

但现在 Codex、Claude Code、Cursor 这类 coding agent,已经能读仓库、跑命令、改文件、看报错、继续修,甚至还能先帮你做 code review。

于是那个老问题又回来了:

程序员会不会被 AI 取代?

我觉得这个问题,如果只拿一个 Python 脚本、一个前端页面、一个算法题来判断,很容易得出过于乐观或者过于悲观的结论。

因为那些场景里,代码和结果之间的距离很短。

输入是什么,输出是什么,错了马上能看出来。

但真实工程不是这样。

尤其是 C++ 工程。

你让 AI 改一个 C++ 项目,很快会发现:真正难的不是让它写出一段看起来正确的代码,而是让它理解这段代码背后那些没有写在代码里的东西。

线程模型。

对象归属。

生命周期假设。

ABI 边界。

性能约束。

历史兼容。

团队默认的代码风格。

以及那些老程序员一眼能看出来,但新人和 AI 都很容易忽略的工程契约。

试完之后,我对“AI 会不会替代程序员”这件事,反而有了一个更清楚的判断:

程序员真正危险的,不是不会写代码。

真正危险的是,当代码变得越来越便宜,你还只把自己的价值放在“我能写代码”上。

AI 真正便宜掉的,不是编程,而是“局部实现”

过去我们说 AI 编程,很多人想到的是 Copilot 那种体验:你写一半,它补一半。

这当然有用,但它更像一个聪明的输入法。

现在的变化不一样。

新一代 coding agent 开始参与完整任务:它会先看项目结构,再找相关文件,然后修改代码,接着跑测试。如果测试失败,它会读错误信息,再改一轮。

这意味着 AI 不再只是帮你敲键盘,而是在尝试进入一个真实的工程现场。

这件事对程序员的冲击很大。

因为很多初级工作,本质上就是在工程现场里完成一串相对明确的动作:

找到函数。

改一个分支。

补一个测试。

修一个编译错误。

根据 review 意见再改一次。

如果任务边界足够清楚,AI 的确可以把这些工作做得越来越快。

但这里有一个关键区别:

AI 便宜掉的不是“软件工程”,而是“局部实现”。

这句话很重要。

很多人把“会写代码”误以为就是“会做工程”。

但在真实项目里,写代码只是工程链条中最显眼的一环,不是最贵的一环。

最贵的部分常常是:判断该不该改,改在哪里,改到什么程度,风险在哪里,怎么证明它没有破坏其他东西。

AI 越强,这个区别越明显。

过去局部实现比较费时间,所以它遮住了很多人的短板。

以后局部实现越来越快,真正暴露出来的就是:你到底有没有工程判断。

C++ 项目为什么更适合作为压力测试

很多 AI 编程演示看起来很惊艳,是因为场景足够干净。

一个函数。

一个文件。

一个明确输入输出。

甚至没有复杂依赖。

但 C++ 工程通常不是这样。

你改一个 .cpp 文件,可能牵扯到对应的头文件;改一个类的成员,可能影响构造、析构、拷贝、移动;改一个接口,可能影响 ABI;改一段异步逻辑,可能引入悬垂引用;改一个锁,可能让死锁从“偶现”变成“必现”。

还有更麻烦的:很多 C++ bug 不会在第一时间喊出来。

对象生命周期错了,可能能编译。

std::move 后继续使用,可能能编译。

数据竞争,可能本机跑十次都没问题。

UB 更是这样,今天正常,明天优化选项一开就变脸。

所以 C++ 项目对 AI 的要求,不只是“能不能生成语法正确的代码”。

它要求 AI 理解上下文、尊重边界、知道哪些地方不能乱碰,并且能用测试和工具证明修改是可靠的。

这也是 C++ 程序员看 AI 编程时,不应该只问“它能不能写出来”的原因。

更应该问:

它知道这段代码背后的契约吗?

比如一个函数签名是这样:

void setBuffer(const char* data, size_t len);

这看起来只是两个参数。

但工程里真正重要的问题是:

这个函数会拷贝数据,还是只保存指针?

调用方传进来的内存要活多久?

能不能传空指针?

多线程下能不能同时调用?

异常策略是什么?

失败时对象处于什么状态?

这些东西,很多时候不会全部写在函数名里。

它们藏在调用习惯、历史实现、测试用例和团队共识里。

这就是 C++ 项目最适合测试 AI 编程的地方:它逼你承认,代码不只是文本,代码是一组工程契约的表面。

如果一个程序员只看见文本,他和 AI 的差距会越来越小。

如果一个程序员能看见契约,他的价值反而会变大。

真正的分水岭:你能不能把隐含契约显性化

我现在对 AI 编程工具的判断比较简单:

边界越清楚,它越强。边界越模糊,它越危险。

比如你让它做这些事,它已经很有价值:

给一个函数补边界条件。

根据失败测试定位一个明显 bug。

把重复代码整理成一个小 helper。

补一组单元测试。

根据编译报错修 include 或类型问题。

解释一段不熟悉的代码。

把 clang-tidy 或 sanitizer 报出来的问题逐个修掉。

这些任务都有一个共同点:目标明确,反馈明确,错了能比较快暴露。

AI 在这里像一个很能干的执行者。

但如果你只是说“帮我优化一下这个模块”,事情就变了。

优化什么?

延迟、吞吐、内存、可读性、编译速度,还是接口稳定性?

能不能改 public API?

能不能引入依赖?

能不能改变线程模型?

性能提升多少才算值得?

如果这些问题没人回答,AI 就只能猜。

而在 C++ 工程里,让一个东西靠猜,往往就是事故的开始。

所以未来程序员最关键的能力,不是把一句自然语言需求丢给 AI。

而是把一个模糊问题,拆成 AI 可以安全执行的工程任务。

比如你不是说:

“帮我修一下这个 crash。”

而是说:

先确认 crash 栈在哪个线程。

再找最近改过的对象所有权逻辑。

先不要改代码,先列出可能的生命周期路径。

每个方案说明会不会改变 public API。

最后只实现风险最小的方案,并补一个能复现问题的测试。

这不是提示词技巧。

这是软件工程能力。

真正的变化在这里:

过去你写代码,是把脑子里的判断翻译成代码。

以后你用 AI,是把脑子里的判断翻译成任务边界、约束和验收标准。

翻译对象变了,但判断没有消失。

甚至更重要了。

AI 时代,最值钱的是验证闭环

很多人担心 AI 写错代码。

这个担心没错,但还不够准确。

更准确地说,危险的是你让 AI 写完代码,却没有验证闭环。

在 C++ 项目里,验证闭环至少包括几层:

能不能编译。

相关测试有没有跑。

边界条件有没有补。

有没有引入 warning。

生命周期、并发、裸指针、容器越界这些风险有没有额外检查。

必要时 sanitizer、静态分析、benchmark 有没有跟上。

如果没有这些东西,AI 写得越快,风险扩散得也越快。

这里有个反直觉的地方:

AI 越能写代码,你越需要懂底层。

因为你不再只是为自己写的代码负责。

你还要为 AI 生成的代码负责。

你要知道一个 const QString& 为什么比值传递合适。

你要知道一个回调捕获 this 可能意味着什么。

你要知道为什么某个全局对象会影响初始化顺序。

你要知道一个看似无害的接口改动,为什么可能影响整个模块。

过去这些知识帮你少写 bug。

以后这些知识还会帮你判断 AI 写出来的代码能不能合并。

也就是说,底层知识的价值发生了变化。

它不再只是“我自己写得更稳”。

它还变成了“我能审判机器写出来的东西”。

这就是很多程序员会误判 AI 的地方。

他们以为 AI 会让底层能力不重要。

但在复杂工程里,AI 恰恰会让底层能力从“生产能力”变成“验收能力”。

生产越来越便宜,验收就越来越值钱。

给 AI 搭工程现场,而不是许愿

未来会写代码的人当然还需要。

但只会等需求、写实现、交差的人,会越来越被动。

更有价值的程序员,会开始做另一件事:

给 AI 搭一个稳定工作的工程现场。

这个现场里应该有清楚的项目规则。

比如接口命名、成员变量风格、日志规范、异常策略、线程模型、模块边界。

应该有清楚的任务说明。

比如目标、上下文、约束、验收标准。

应该有自动化验证。

比如构建、单测、静态检查、sanitizer、benchmark。

应该有 review 机制。

AI 可以先扫一遍低级问题,人再看设计、边界和取舍。

如果这些东西都没有,AI 就只能靠猜。

从这个角度看,AI 编程真正推动的不是“程序员消失”,而是程序员工作重心发生变化。

过去你花很多时间写代码。

以后你会花更多时间定义任务、整理上下文、制定规则、设计验证、审查结果。

写代码仍然重要,但它不再是全部。

更准确地说,程序员会从“代码生产者”,越来越变成“工程系统的设计者和验收者”。

这句话听起来有点抽象,但落到日常工作里其实很具体:

你给 AI 的不是一句“帮我改一下”。

你给它的是一段可执行的工程协议:

只能改哪些文件。

不能破坏哪些接口。

必须跑哪些测试。

遇到不确定性先停下来说明。

每个修改都要解释风险。

这才是 AI 时代真正有效的编程方式。

不是向 AI 许愿。

而是给 AI 搭工地、划红线、装监控、定验收。

最后真正危险的是什么?

所以,回到开头那个问题:

AI 会不会取代程序员?

我的答案是:它会取代一部分只会执行局部任务的人。

但它也会放大另一部分人。

能把问题讲清楚的人,会被放大。

能把复杂工程拆成可验证任务的人,会被放大。

能看懂 AI 代码风险的人,会被放大。

能把团队经验沉淀成规则、测试和工具链的人,会被放大。

对 C++ 程序员来说,这其实是一个很现实的提醒。

你过去积累的那些看起来“很底层、很麻烦、很难讲清楚”的经验,并没有过时。

对象生命周期、并发边界、性能判断、构建系统、测试习惯、代码规范,这些东西在 AI 时代反而更重要。

因为 AI 能帮你更快地产生代码。

但它不能替你承担工程后果。

如果说过去程序员的核心问题是:

“我能不能把代码写出来?”

那么 AI 时代更重要的问题会变成:

“我能不能判断这段代码是否值得存在?”

“我能不能证明它可以进入工程?”

“我能不能把模糊需求变成可验证任务?”

这才是很多人读完 AI 编程新闻后,真正应该意识到的变化。

程序员真正危险的,不是不会写代码。

而是当代码越来越便宜时,你还没有学会判断什么代码值得写、应该怎么写、以及怎样证明它真的可以交付。

这不是焦虑。

这是新的分工已经开始了。

结尾

我是 everystep 的作者。

我写这些文章,只做一件事:

把工程里的底层问题讲清楚。

今天这篇想讲的其实也是同一件事:

AI 会让代码生成越来越便宜,但“从代码到系统”的判断力,反而更值钱。

我正在更新一个专栏:《把计算机拆开给你看》

每一篇都会挑一个工程里真实会遇到的问题,从现象讲到原理,再落到可复用的实现。

如果你想补齐“从代码到系统”的视角,欢迎关注。

后台回复 「C++基础」,可以领取 PDF 手册。

也可以先看看这几篇实战长文:

如果你想系统训练,而不是只看单篇文章,我现在主要整理了三门课。

1. mini-Redis:把 C++ 写成一个能跑的后台系统

epoll、Reactor、RESP 协议、Buffer、AOF 持久化一路写到一个能放进简历、能在面试里讲清楚的后台项目。

适合想补高性能网络服务、C++ 工程项目和后端面试材料的同学。

扫码备注 “redis”

2. mini-Git:把每天都在用的工具拆到对象模型

blobtreecommit、index、refs、diff、branch 开始,亲手实现一个版本控制内核。

适合想真正理解 Git 底层、工程工具、内容寻址和 DAG 历史模型的同学。

扫码备注 “git”

3. RISC-V 模拟器:把 CPU、内存和系统接口串起来

从指令执行、寄存器、内存、异常、中断、MMU 到能跑程序的模拟器,把计算机底层链路完整串一次。

适合想补 CPU / 操作系统 / 计算机系统底层,并且希望简历上有一个硬项目的同学。

扫码备注 “cpu”

如果你不知道怎么选:

  • • 想补后端项目和面试工程能力,选 mini-Redis
  • • 想补 Git 底层、工程工具和数据结构,选 mini-Git
  • • 想补计算机系统底层、CPU / 内存 / 指令执行,选 RISC-V 模拟器

扫码加我微信,备注对应关键词。

我把课程大纲、学习节奏和适合建议发给你,你再决定报不报。

如果你对某个话题感兴趣,或者正卡在某个具体问题上,直接在评论区告诉我。

你的每一次关注、在看和转发,都是我继续写下去的动力。

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