当前位置:首页>java>LVGL应用编程:创建第一个LVGL工程(Hello World!)

LVGL应用编程:创建第一个LVGL工程(Hello World!)

  • 2026-01-27 05:12:35
LVGL应用编程:创建第一个LVGL工程(Hello World!)

LVGL应用编程:创建第一个LVGL工程(Hello World!)

注意:如果你是新手,需要观看上一篇文章《LVGL应用编程入门》。本文使用的开发板sdk是小智学长(b站知名up)的T113智慧屏板卡配套sdk,当然考虑到小伙伴新手居多,本文及后续文章也主要以Linux仿真为主,效果与开发板一致,让小伙伴可以只用一台windows电脑也能学习并实操嵌入式LVGL应用开发。

一、准备工作:确保环境就绪

在开始之前,请确保你已经完成:

  1. 1. ✅ 安装好VMware和Ubuntu 18.04以上版本
  2. 2. ✅ 下载并解压了LVGL SDK
  3. 3. ✅ 能够成功运行SDK中的示例程序

如果你还没有完成,需要先观看上一篇博客《LVGL应用编程入门》:LVGL应用编程入门:从零开始打造炫酷嵌入式界面,不然这篇文章实操会有问题。

然后提前看下本文最终显示效果:

image-20260114112325412

二、为什么要创建自己的工程?

打个比方

  • • 公司提供的SDK示例就像精装样板房 - 功能齐全但可能不是你想要的布局
  • • 自己创建的工程就像毛坯房 - 完全按照你的想法来设计装修

通过创建自己的工程,你可以:

  1. 1. 从零开始学习,理解每个组件的作用
  2. 2. 避免被示例代码干扰,专注于核心功能
  3. 3. 建立自己的开发框架,方便后续项目复用

三、创建第一个LVGL工程的详细步骤

3.1 创建工程文件夹结构

打开Ubuntu终端,按照以下步骤操作:

# 1. 进入SDK目录cd ~/work/app_sdk# 2. 创建自己的工程文件夹(我命名为app1,你可以取任何名字)mkdir app1# 3. 进入新创建的文件夹cd app1

现在你的目录结构应该是这样的:

app_sdk/├── app/          # SDK自带的示例工程├── app1/         # 你创建的新工程├── lvgl/         # LVGL核心库├── component/    # 各种组件└── ...          # 其他文件夹

3.2 创建核心文件

app1文件夹中创建两个关键文件:

# 创建main.c - 程序的入口文件touch main.c# 创建CMakeLists.txt - 告诉编译器如何编译我们的程序touch CMakeLists.txt

四、编写工程配置文件(CMakeLists.txt)

4.1 理解CMakeLists.txt的作用

通俗解释:这个文件就像餐厅的菜单和制作流程,告诉厨师(编译器):

  1. 1. 做什么菜(项目名称)
  2. 2. 需要哪些食材(源代码文件)
  3. 3. 怎么做(编译规则)
  4. 4. 需要哪些调味料(依赖库)

4.2 编写CMakeLists.txt内容

打开app_sdk/app1/CMakeLists.txt,输入以下内容:

# 指定CMake的最低版本要求cmake_minimum_required(VERSION 3.15)# 设置工程名称为demo1(这个名字将决定生成的可执行文件名)project(demo1)# 自动收集当前目录下所有的.c文件,存入SOURCES变量aux_source_directory(. SOURCES)# 告诉CMake要生成一个可执行文件:# demo1 - 可执行文件的名字# ${SOURCES} - 使用的源文件列表add_executable(demo1 ${SOURCES})# 设置头文件搜索路径(告诉编译器去哪里找.h文件)target_include_directories(demo1 PRIVATE    ./                          # 当前目录    ${CMAKE_SOURCE_DIR}/lvgl    # LVGL库目录)# 链接需要的库(就像告诉链接器:"做这道菜需要LVGL这个调味料")target_link_libraries(demo1 PRIVATE lvgl)

4.3 重点解释:PRIVATE关键字

# 为什么用PRIVATE而不是PUBLIC?# PRIVATE - "自己用的调味料不放锅里"#   效果:当前工程(demo1)可以使用lvgl库#   但是:其他工程如果依赖demo1,不会自动获得lvgl库# PUBLIC - "调味料放锅里大家一起用"#   效果:当前工程可以使用lvgl库#   而且:其他工程如果依赖demo1,也会自动获得lvgl库# 对于我们的小工程,用PRIVATE就足够了!

五、编写主程序(main.c)

5.1 程序结构分析

一个最基本的LVGL程序包含以下部分:

1. 头文件引入 (#include ...)2. LVGL初始化 (lv_init())3. 显示设备初始化 (lv_port_disp_init())4. 输入设备初始化 (lv_port_indev_init())5. 创建界面 (创建控件、设置属性)6. 主循环 (不断处理用户交互和界面更新)

5.2 编写Hello World程序

打开app_sdk/app1/main.c,输入以下内容:

#include <unistd.h>     // 提供usleep函数#include <stdlib.h>     // 标准库#include <stdio.h>      // 标准输入输出#include "lvgl.h"       // LVGL核心库// 声明外部函数(这些函数已经在SDK的其他地方实现了)extern void lv_port_disp_init(bool is_disp_orientation);extern void lv_port_indev_init(void);// 创建Hello World界面的函数void lv_example_hello_world(void) {    lv_obj_t *scr = lv_scr_act(); // 1.获取当前活动屏幕(就像拿到一张白纸)    lv_obj_t *label = lv_label_create(scr);    // 2.在屏幕上创建一个标签控件(就像在白纸上贴一个便签)    lv_label_set_text(label, "Hello, World!"); // 3.设置标签的文本内容    lv_obj_align(label, LV_ALIGN_CENTER, 0, 0);    // 4.将标签居中对齐(x偏移0,y偏移0)    // 解释:LV_ALIGN_CENTER表示居中对齐    //       0,0表示水平和垂直方向都不偏移}// 主函数 - 程序从这里开始执行int main() {    printf("Starting LVGL Hello World application...\n");    lv_init(); // 第一步:LVGL框架初始化    lv_port_disp_init(true); // 第二步:初始化显示设备(true表示使用默认的显示方向)    lv_port_indev_init(); // 第三步:初始化输入设备    lv_example_hello_world(); // 第四步:创建我们的Hello World界面    // 第五步:主循环 - 保持程序运行,处理事件    while (1) {        lv_task_handler(); // 处理LVGL任务(检查有没有触摸事件,要不要更新显示等)        usleep(1000); // 短暂延时,避免CPU使用率过高,usleep(1000)表示暂停1000微秒(1毫秒)    }    // 理论上程序不会执行到这里(因为while(1)是无限循环)    return 0;}

六、修改SDK的编译配置

6.1 修改主CMakeLists.txt

我们需要告诉SDK:"嘿,我新建了一个工程,请把它也编译进去!"

编辑app_sdk/CMakeLists.txt文件:

# 找到这一行(大约在文件末尾):# add_subdirectory(app)# 在这行下面添加:add_subdirectory(app1)# 修改后应该是这样的:add_subdirectory(app)    # 这个原本的可以注释掉add_subdirectory(app1)  # 新增的行
image-20260114113802291

6.2 如果找不到这一行怎么办?

如果你打开app_sdk/CMakeLists.txt发现没有add_subdirectory(app)这一行,可能是SDK版本不同。没关系,你只需要在合适的位置(文件末尾附近)添加:

# 编译app1工程add_subdirectory(app1)

七、编译和运行

7.1 编译工程

回到终端,确保你在app_sdk目录下:

# 1. 清理之前的编译文件(如果是第一次编译或切换平台)./build.sh -clean# 2. 编译Linux版本./build.sh -linux

编译成功的标志

[100%] Built target demo1Scanning dependencies of target demo1[ 90%] Linking C executable demo1[100%] Built target demo1

7.2 找到生成的可执行文件

编译成功后,会在build目录下生成你的程序:

# 查看生成的可执行文件ls build/app1/# 应该能看到:demo1

7.3 运行你的第一个LVGL程序

# 运行程序./build/app1/demo1

期待的画面:你会看到一个窗口,中间显示着"Hello, World!"文字!

image-20260114112325412

恭喜你完成了第一个LVGL工程! 🎉 现在你可以自豪地说:"我会用LVGL创建图形界面了!" 继续前进,下一个挑战是创建一个有按钮和交互的完整应用!

八、工程结构回顾

现在你的工程结构应该是这样的:

app_sdk/├── app1/                    # 你的第一个工程│   ├── main.c              # 主程序文件│   └── CMakeLists.txt      # 工程配置文件├── build/                  # 编译输出目录│   └── app1/│       └── demo1          # 可执行文件└── ...                    # 其他SDK文件

九、总结

通过这个简单的Hello World工程,你已经学会了:

  1. 1. ✅ 如何创建独立的LVGL工程
  2. 2. ✅ 理解CMakeLists.txt的作用和编写
  3. 3. ✅ 掌握LVGL程序的基本结构
  4. 4. ✅ 编译和运行自己的程序

快速命令总结

# 1. 创建工程目录和文件mkdir app1cd app1touch main.c CMakeLists.txt# 2. 编写代码# 3. 修改SDK的CMakeLists.txt,添加add_subdirectory(app1)# 4. 编译cd ~/work/app_sdk./build.sh -clean./build.sh -linux# 5. 运行./build/app1/demo1
往期推荐:
LVGL应用编程入门:从零开始打造炫酷嵌入式界面
Linux系统编程完整指南
交叉编译入门:如何让PC程序跑在嵌入式Linux板卡上?

最新文章

随机文章

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