1.简介

Visual Studio Code (简称 VSCode / VSC) 是一款免费开源的现代化轻量级代码编辑器,支持几乎所有主流的开发语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比 Diff、Git 等特性,支持插件扩展,并针对网页开发和云端应用开发做了优化。软件跨平台支持 Win、Mac 以及 Linux,运行流畅,可谓是微软的良心之作……

话说微软 VSCode 的发展势头简直超猛!!经过多年发展后,目前已成为全球开发者最喜爱也是最热门的主流代码编辑器之一了!在很多年前,大家都没想过有一天能在不用虚拟机的情况下,直接能在 Mac、Linux 上运行使用到微软的 Visual Studio 或像 VSCode 一样的免费却又强大的开发工具吧。VSCode非常好用,乐鑫芯片公司为了让用户使用VScode IDE工具,开发了对应的ESP-IDF插件。

ESP-IDF 是乐鑫官方的物联网开发框架,也是最基础的开发框架,其他的框架,例如音频开发框架 ESP-ADF 也是基于 ESP-IDF 的,所以说 ESP-IDF 框架是学习乐鑫 ESP32 系列芯片开发绕不过去的一道坎。

2.安装VScode和Esp32-IDF插件

2.1 VScode 安装较简单,下载完安装即可。

2.2 在插件管理界面 搜索esp32 ,安装Espressif IPF

2.3 选择EXPRESS 安装IDF和IPF TOOLS、 Python环境

2.4 选择安装的路径和版本,选择国内Espressif git服务器

2.5 等待安装

注意:如果下载中断,需要你手动删除你安装目录下的.espressif 和 esp。然后重新安装

报错: EPERM: operation not permitted, rename 'F:\Code\vsCode_env\esp32_IDF\esp-idf-v5.0.1' -> 'F:\Code

EBUSY: resource busy or locked, rename 'F:\Code\vsCode_env\esp32\esp-idf-v5.0.1' -> 'F:\Code\vsCode_env\esp32\esp-idf'

工作区的问题,工作区设置到了F:\Code\vsCode_env\esp32_IDF ,应修改为其他区域。



3.测试安装的IPF-TOOL

3.1 创建一个自己的目录,将hello word工程拷贝过去

3.2 打开helloword并编译链接

使用的串口

选择目标芯片

Menuconfig

清理工程

编译工程

下载程序的方式

下载

 Executing task: ninja  [226/416] Performing configure step for 'bootloader'
-- Found Git: G:/Code/esp32/.espressif/tools/idf-git/2.30.1/cmd/git.exe (found version "2.30.1.windows.1")
-- The C compiler identification is GNU 11.2.0
-- The CXX compiler identification is GNU 11.2.0
-- The ASM compiler identification is GNU
-- Found assembler: G:/Code/esp32/.espressif/tools/xtensa-esp32-elf/esp-2022r1-11.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc.exe
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: G:/Code/esp32/.espressif/tools/xtensa-esp32-elf/esp-2022r1-11.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: G:/Code/esp32/.espressif/tools/xtensa-esp32-elf/esp-2022r1-11.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building ESP-IDF components for target esp32
-- Project sdkconfig file G:/Code/esp32/my/helloword/sdkconfig
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of time_t
-- Check size of time_t - done
-- Adding linker script G:/Code/esp32/esp/esp-idf/components/soc/esp32/ld/esp32.peripherals.ld
-- App "bootloader" version: v5.0.1
-- Adding linker script G:/Code/esp32/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.ld
-- Adding linker script G:/Code/esp32/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.api.ld
-- Adding linker script G:/Code/esp32/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.libgcc.ld
-- Adding linker script G:/Code/esp32/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld
-- Adding linker script G:/Code/esp32/esp/esp-idf/components/bootloader/subproject/main/ld/esp32/bootloader.ld
-- Adding linker script G:/Code/esp32/esp/esp-idf/components/bootloader/subproject/main/ld/esp32/bootloader.rom.ld
-- Components: bootloader bootloader_support efuse esp_app_format esp_common esp_hw_support esp_rom esp_system esptool_py freertos hal log main micro-ecc newlib partition_table soc spi_flash xtensa
-- Component paths: G:/Code/esp32/esp/esp-idf/components/bootloader G:/Code/esp32/esp/esp-idf/components/bootloader_support G:/Code/esp32/esp/esp-idf/components/efuse G:/Code/esp32/esp/esp-idf/components/esp_app_format G:/Code/esp32/esp/esp-idf/components/esp_common G:/Code/esp32/esp/esp-idf/components/esp_hw_support G:/Code/esp32/esp/esp-idf/components/esp_rom G:/Code/esp32/esp/esp-idf/components/esp_system G:/Code/esp32/esp/esp-idf/components/esptool_py G:/Code/esp32/esp/esp-idf/components/freertos G:/Code/esp32/esp/esp-idf/components/hal G:/Code/esp32/esp/esp-idf/components/log G:/Code/esp32/esp/esp-idf/components/bootloader/subproject/main G:/Code/esp32/esp/esp-idf/components/bootloader/subproject/components/micro-ecc G:/Code/esp32/esp/esp-idf/components/newlib G:/Code/esp32/esp/esp-idf/components/partition_table G:/Code/esp32/esp/esp-idf/components/soc G:/Code/esp32/esp/esp-idf/components/spi_flash G:/Code/esp32/esp/esp-idf/components/xtensa
-- Configuring done
-- Generating done
-- Build files have been written to: G:/Code/esp32/my/helloword/build/bootloader
[409/416] Performing build step for 'bootloader'
[1/101] Generating project_elf_src_esp32.c
[2/101] Building C object esp-idf/xtensa/CMakeFiles/__idf_xtensa.dir/eri.c.obj
[3/101] Building C object esp-idf/xtensa/CMakeFiles/__idf_xtensa.dir/xt_trax.c.obj
[4/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/lldesc.c.obj
[5/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/adc_periph.c.obj
[6/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/dport_access_common.c.obj
[7/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/dac_periph.c.obj
[8/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/gpio_periph.c.obj
[9/101] Building C object CMakeFiles/bootloader.elf.dir/project_elf_src_esp32.c.obj
[10/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/dport_access.c.obj
[11/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/interrupts.c.obj
[12/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/i2c_periph.c.obj
[13/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/sdm_periph.c.obj
[14/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/i2s_periph.c.obj
[15/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/lcd_periph.c.obj
[16/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/pcnt_periph.c.obj
[17/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/rmt_periph.c.obj
[18/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/rtc_io_periph.c.obj
[19/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/mcpwm_periph.c.obj
[20/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/ledc_periph.c.obj
[21/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/sdio_slave_periph.c.obj
[22/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/uart_periph.c.obj
[23/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/spi_periph.c.obj
[24/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/sdmmc_periph.c.obj
[25/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/touch_sensor_periph.c.obj
[26/101] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/timer_periph.c.obj
[27/101] Building C object esp-idf/micro-ecc/CMakeFiles/__idf_micro-ecc.dir/uECC_verify_antifault.c.obj
[28/101] Building C object esp-idf/esp_app_format/CMakeFiles/__idf_esp_app_format.dir/esp_app_desc.c.obj
[29/101] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/esp32/efuse_hal.c.obj
[30/101] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/efuse_hal.c.obj
[31/101] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/mpu_hal.c.obj
[32/101] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/wdt_hal_iram.c.obj
[33/101] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/mmu_hal.c.obj
[34/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_random_esp32.c.obj
[35/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp_image_format.c.obj
[36/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/secure_boot.c.obj
[37/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_encrypt.c.obj
[38/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_utility.c.obj
[39/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_common.c.obj
[40/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_common_loader.c.obj
[41/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/bootloader_flash.c.obj
[42/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_mem.c.obj
[43/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_clock_init.c.obj
[44/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_random.c.obj
[45/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32/bootloader_sha.c.obj
[46/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_console.c.obj
[47/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32/bootloader_soc.c.obj
[48/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_console_loader.c.obj
[49/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_panic.c.obj
[50/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/flash_qio_mode.c.obj
[51/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/bootloader_flash_config_esp32.c.obj
[52/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_partitions.c.obj
[53/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_efuse.c.obj
[54/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_init.c.obj
[55/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_clock_loader.c.obj
[56/101] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32/bootloader_esp32.c.obj
[57/101] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32/esp_efuse_table.c.obj
[58/101] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_utility.c.obj
[59/101] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32/esp_efuse_utility.c.obj
[60/101] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_api.c.obj
[61/101] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32/esp_efuse_fields.c.obj
[62/101] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_fields.c.obj
[63/101] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/efuse_controller/keys/without_key_purposes/three_key_blocks/esp_efuse_api_key.c.obj
[64/101] Building C object esp-idf/esp_common/CMakeFiles/__idf_esp_common.dir/src/esp_err_to_name.c.obj
[65/101] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/esp_memory_utils.c.obj
[66/101] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/cpu.c.obj
[67/101] Building C object esp-idf/esp_system/CMakeFiles/__idf_esp_system.dir/esp_err.c.obj
[68/101] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_sleep.c.obj
[69/101] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_pm.c.obj
[70/101] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_clk_init.c.obj
[71/101] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_init.c.obj
[72/101] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_time.c.obj
[73/101] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_spiflash.c.obj
[74/101] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/rtc_clk.c.obj
[75/101] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32/chip_info.c.obj
[76/101] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_sys.c.obj
[77/101] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_crc.c.obj
[78/101] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/bootloader_start.c.obj
[79/101] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_uart.c.obj
[80/101] Building ASM object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_longjmp.S.obj
[81/101] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_regi2c.c.obj
[82/101] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_efuse.c.obj
[83/101] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log_buffers.c.obj
[84/101] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log_noos.c.obj
[85/101] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log.c.obj
[86/101] Linking C static library esp-idf\log\liblog.a
[87/101] Linking C static library esp-idf\esp_rom\libesp_rom.a
[88/101] Linking C static library esp-idf\esp_common\libesp_common.a
[89/101] Linking C static library esp-idf\esp_hw_support\libesp_hw_support.a
[90/101] Linking C static library esp-idf\esp_system\libesp_system.a
[91/101] Linking C static library esp-idf\efuse\libefuse.a
[92/101] Linking C static library esp-idf\bootloader_support\libbootloader_support.a
[93/101] Linking C static library esp-idf\esp_app_format\libesp_app_format.a
[94/101] Linking C static library esp-idf\hal\libhal.a
[95/101] Linking C static library esp-idf\micro-ecc\libmicro-ecc.a
[96/101] Linking C static library esp-idf\soc\libsoc.a
[97/101] Linking C static library esp-idf\xtensa\libxtensa.a
[98/101] Linking C static library esp-idf\main\libmain.a
[99/101] Linking C executable bootloader.elf
[100/101] Generating binary image from built executable
esptool.py v4.5.1
Creating esp32 image...
Merged 1 ELF section
Successfully created esp32 image.
Generated G:/Code/esp32/my/helloword/build/bootloader/bootloader.bin
[101/101] cmd.exe /C "cd /D G:\Code\esp32\my\helloword\build\bootloader\esp-idf\esptool_py && G:\Code\esp32\.espressif\python_env\idf5.0_py3.8_env\Scripts\python.exe G:/Code/esp32/esp/esp-idf/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x1000 G:/Code/esp32/my/helloword/build/bootloader/bootloader.bin"
Bootloader binary size 0x6700 bytes. 0x900 bytes (8%) free.
[415/416] Generating binary image from built executable
esptool.py v4.5.1
Creating esp32 image...
Merged 2 ELF sections
Successfully created esp32 image.
Generated G:/Code/esp32/my/helloword/build/hello_world.bin
[416/416] cmd.exe /C "cd /D G:\Code\esp32\my\helloword\build\esp-idf\esptool_py && G:\Code\esp32\.espr.../helloword/build/partition_table/partition-table.bin G:/Code/esp32/my/helloword/build/hello_world.bin"
hello_world.bin binary size 0x2b570 bytes. Smallest app partition is 0x100000 bytes. 0xd4a90 bytes (83%) free.
 *  Executing task: G:\Code\esp32\.espressif\python_env\idf5.0_py3.8_env\Scripts\python.exe G:\Code\esp32\esp\esp-idf\tools\idf_size.py g:\Code\esp32\my\helloword\build\hello_world.map Total sizes:
Used static DRAM:   10092 bytes ( 170644 remain, 5.6% used).data size:    7804 bytes.bss  size:    2288 bytes
Used static IRAM:   47122 bytes (  83950 remain, 36.0% used).text size:   46095 bytes.vectors size:    1027 bytes
Used Flash size :  122479 bytes.text     :   88979 bytes.rodata   :   33244 bytes
Total image size:  177405 bytes (.bin may be padded larger)

4.综述

VSCode+ESP32 编译过程,其实是调用了开源的cmake ninja。建议多学习下cmake,ninja ,这对学习操作系统非常有帮助(鸿蒙也是用的ninja+cmake)

出现乱码问题:

  1. 工具的默认编码和程序输出的“汉字”编码不一致导致。

=======以下方法仅供参考,会导致KEIL MDK 中汉字乱码======

Powershell 使用GBK

CMD 使用

VScode+ESP32-IDF的使用相关推荐

  1. ESP32 IDF LVGL8.0 flash 外部字库显示 中文显示

    我从stm32一路学到esp32,发现这款芯片挺好玩的,主要是还是stm32太贵了,stm32主要是很多坑有人遇到了,并给出了解决方法,esp32这方面就少点,有时候找不到的,只能靠自己了. 本文使用 ...

  2. ESP32( IDF平台)+MAX30102 配合Pyqt上位机实现PPG波形显示与心率计算

    0 引言 年前买了一个MAX30102模块,在家无聊做了这个demo对一些相关的知识进行学习. 主要学习的内容: 光体积变化描记图(Photoplethysmogram, PPG)测量原理学习. ES ...

  3. ESP32 IDF LVGL 1.47寸圆角屏幕测试

    前言 基于ESP32 IDF框架移植的LVGL,IDF版本为4.3.1,LVGL版本为8.1.1.屏幕为中景园的1.47寸172x320分辨率的圆角IPS,驱动芯片为st7789v3. B站视频效果: ...

  4. esp32系列(11):ESP32 IDF平台 mpu6050 DMP 驱动移植及测试上位机开发

    目录 1 DMP 官方库介绍 1.1 DMP与MPL(Motion Processing Libraries)功能 1.2 运行MPL的硬件要求 1.3 Motion Driver 6.12 的架构 ...

  5. 小明分享|基于VSCode Espress IDF软件环境搭建

    VS code下载网址: --现版本安装包大小大约60M左右,是一个轻量级但功能强大的源代码编辑器,适用于Windows.macOS和Linux.支持安装扩展各类应用插件. https://code. ...

  6. esp32-c3 (esp32 IDF) wife设置中文wifi名

    1.进入esp32模板目录下的WiFi目录拷贝到你的项目目录 cd .\esp-idf\examples\wifi\getting_started\softAP\main 2.用编译器编写.c文件 s ...

  7. [GUI] ESP32(idf)触摸屏(XPT2046)驱动及驱动校准

    1. XPT2046简介 XPT2046是一款4线电阻式触摸屏控制器,包含12位125 kHz采样SAR型a /D转换器. XPT2046可以通过执行两个A/D转换来检测按下的屏幕位置. - 下面简单 ...

  8. [GUI] ESP32(idf)驱动3.5寸SPI-TFT屏移植LittleVGL

    一.展示成果 博客上传图片限制在5M内,视频转 GIF 帧率压缩太严重了,还得再次压缩才小于5M,效果完全失真了 小伙伴们有什么好的工具或方法解决吗 gif 图上应该看不出什么区别.但是ESP32 用 ...

  9. 基于ESP32 IDF开发FOC(1)-AS5600角度读取

    AS5600角度读取 1.相关定义 #define As5600_Addr 0x36 #define RawAngle_Addr 0x0C#define I2C_WRITE_MODE 0 #defin ...

  10. linux下VScode开发ESP32,VsCode设置ESP32工具链+刨根问底点灯

    unplash 今天教大家ESP32在vscode上面的配置,以及点灯时的具体引脚定义. 已下软件都是要提前准备的,还有Python环境,不低于3.6 https://cmake.org/ 首先下载c ...

最新文章

  1. idea中如何reimport_IDEA中导入新项目遇坑
  2. CPU卡及其应用领域简介
  3. C++知识点54——RTTI(运行时类型识别)
  4. Android用户界面开发(16):ImageSwitcher
  5. Java匿名内部类总结
  6. sylog mysql_25.2 配置使用基于mysql存储日志信息
  7. SPOJ - QTREE3Query on a tree again!——树链剖分
  8. Linux文件系统构成
  9. zimbra mysql管理_zimbra 命令行管理
  10. TensorFlow教程之API DOC 6.1.3 Class tensorflow::RandomAccessFile
  11. python的安装框架acode_Python安装与入门
  12. 第三章 电商分析之会员活跃度
  13. select 显示”请选择“,怎样在选择之后消失的问题
  14. python 标贝 模拟人声/语音克隆/语音复刻(API)体验
  15. java.net.UnknownHostException: localhsot
  16. 优化 | Pick and delivery problem的简介与建模实现(一)
  17. 电脑出现Windows7/vista/server Windows7vista/server(noslic)等等怎么办?还有grub是​来自GNU项目的多操作系统启动程序​
  18. 周志华 机器学习初步 线性模型
  19. 居家生活实用生活小窍门集锦
  20. 一键上手时下最火AI作画工具

热门文章

  1. 解析:urllib.request(内附有官方文档)
  2. Python:绘制雪花动态图
  3. 3每天Python小例-爬取淘宝网页商品
  4. airpods二代降噪吗_分析师称内部组件升级的第三代AirPods将于2021上半年量产
  5. 京瓷Kyocera Mita KM-C2630 一体机驱动
  6. 【计算机图形学】用python的turtle进行简单的图形绘制
  7. 可以使用的一些API(转存)
  8. 华为手机Log开启分析
  9. 日常工作中如何自我提升?
  10. 怎么恢复永久删除文件?这3个方案,90%的人都在用