buildroot是Linux平台上一个构建嵌入式Linux系统的框架。整个Buildroot是由Makefile脚本和Kconfig配置文件构成的。你可以和编译Linux内核一样,通过buildroot配置,menuconfig修改,编译出一个完整的可以直接烧写到机器上运行的Linux系统软件(包含boot、kernel、rootfs以及rootfs中的各种库和应用程序)。


目录

1. buildroot入门

1.1 buildroot目录介绍

1.2 buildroot配置

1.3 make命令使用

2. buildroot框架

3. 配置Linux Kernel

3.1 选择Linux内核版本

3.1.1 Kernel binary format

3.2 对Kernel进行配置

4. 配置文件系统APP

4.1 ramfs

5. 添加自己的APP

5.1 添加package/Config.in入口

5.2 配置APP对应的Config.in和mk文件

5.3 编写APP源码

5.4 通过make menuconfig选中APP

5.5 编译APP

5.6 运行APP

6. uboot配置

7. Finalizing target

7.1 FS Overlay

7.2 post build

7.2 post image

8. buildroot编译性能

8.1 编译耗时

8.2 编译依赖关系

8.3 编译结果尺寸分析


 

源码GitHub:https://github.com/buildroot/buildroot

使用buildroot搭建基于qemu的虚拟开发平台,参考《通过buildroot+qemu搭建ARM-Linux虚拟开发环境》。

1. buildroot入门

首先如何使用buildroot,1.选择一个defconfig;2.根据需要配置buildroot;3.编译buildroot;4.在qemu或者目标板上运行buildroot构建的系统。

1.1 buildroot目录介绍

进入buildroot首先映入眼帘的是一系列目录,简要介绍如下:

.
├── arch: 存放CPU架构相关的配置脚本,如arm/mips/x86,这些CPU相关的配置,在制作工具链时,编译uboot和kernel时很关键.
├── board
├── boot
├── CHANGES
├── Config.in
├── Config.in.legacy
├── configs: 放置开发板的一些配置参数. 
├── COPYING
├── DEVELOPERS
├── dl: 存放下载的源代码及应用软件的压缩包. 
├── docs: 存放相关的参考文档. 
├── fs: 放各种文件系统的源代码. 
├── linux: 存放着Linux kernel的自动构建脚本. 
├── Makefile
├── Makefile.legacy
├── output: 是编译出来的输出文件夹. 
│   ├── build: 存放解压后的各种软件包编译完成后的现场.
│   ├── host: 存放着制作好的编译工具链,如gcc、arm-linux-gcc等工具.
│   ├── images: 存放着编译好的uboot.bin, zImage, rootfs等镜像文件,可烧写到板子里, 让linux系统跑起来.
│   ├── staging
│   └── target: 用来制作rootfs文件系统,里面放着Linux系统基本的目录结构,以及编译好的应用库和bin可执行文件. (buildroot根据用户配置把.ko .so .bin文件安装到对应的目录下去,根据用户的配置安装指定位置)
├── package:下面放着应用软件的配置文件,每个应用软件的配置文件有Config.in和soft_name.mk。
├── README
├── support
├── system
└── toolchain

1.2 buildroot配置

通过make xxx_defconfig来选择一个defconfig,这个文件在config目录下。

然后通过make menuconfig进行配置。

Target options  --->选择目标板架构特性。
Build options  --->配置编译选项。
Toolchain  ---> 配置交叉工具链,使用buildroot工具链还是外部提供。
System configuration  --->
Kernel  --->
Target packages  --->
Filesystem images  --->
Bootloaders  --->
Host utilities  --->
Legacy config options  --->

1.3 make命令使用

通过make help可以看到buildroot下make的使用细节,包括对package、uclibc、busybox、linux以及文档生成等配置。

Cleaning:clean                  - delete all files created by builddistclean              - delete all non-source files (including .config)Build:all                    - make worldtoolchain              - build toolchainConfiguration:menuconfig             - interactive curses-based configurator--------------------------------对整个buildroot进行配置savedefconfig          - Save current config to BR2_DEFCONFIG (minimal config)----------------保存menuconfig的配置Package-specific:-------------------------------------------------------------------------------对package配置<pkg>                  - Build and install <pkg> and all its dependencies---------------------单独编译对应APP<pkg>-source           - Only download the source files for <pkg><pkg>-extract          - Extract <pkg> sources<pkg>-patch            - Apply patches to <pkg><pkg>-depends          - Build <pkg>'s dependencies<pkg>-configure        - Build <pkg> up to the configure step<pkg>-build            - Build <pkg> up to the build step<pkg>-show-depends     - List packages on which <pkg> depends<pkg>-show-rdepends    - List packages which have <pkg> as a dependency<pkg>-graph-depends    - Generate a graph of <pkg>'s dependencies<pkg>-graph-rdepends   - Generate a graph of <pkg>'s reverse dependencies<pkg>-dirclean         - Remove <pkg> build directory-----------------------------------------清除对应APP的编译目录<pkg>-reconfigure      - Restart the build from the configure step<pkg>-rebuild          - Restart the build from the build step--------------------------------单独重新编译对应APPbusybox:busybox-menuconfig     - Run BusyBox menuconfiguclibc:uclibc-menuconfig      - Run uClibc menuconfiglinux:linux-menuconfig       - Run Linux kernel menuconfig-----------------------------------------配置Linux并保存设置linux-savedefconfig    - Run Linux kernel savedefconfiglinux-update-defconfig - Save the Linux configuration to the path specifiedby BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILEDocumentation:manual                 - build manual in all formatsmanual-pdf             - build manual in PDFgraph-build            - generate graphs of the build times----------------------------------对编译时间、编译依赖、文件系统大小生成图标graph-depends          - generate graph of the dependency treegraph-size             - generate stats of the filesystem size

2. buildroot框架

 Buildroot提供了函数框架和变量命令框架(下一篇文章将介绍细节),采用它的框架编写的app_pkg.mk这种Makefile格式的自动构建脚本,将被package/pkg-generic.mk 这个核心脚本展开填充到buildroot主目录下的Makefile中去。

最后make all执行Buildroot主目录下的Makefile,生成你想要的image。 package/pkg-generic.mk中通过调用同目录下的pkg-download.mk、pkg-utils.mk文件,已经帮你自动实现了下载、解压、依赖包下载编译等一系列机械化的流程。

你只要需要按照格式写Makefile脚app_pkg.mk,填充下载地址,链接依赖库的名字等一些特有的构建细节即可。 总而言之,Buildroot本身提供构建流程的框架,开发者按照格式写脚本,提供必要的构建细节,配置整个系统,最后自动构建出你的系统

对buildroot的配置通过Config.in串联起来,起点在根目录Config.in中。

配置选项Config.in位置
Target optionsarch/Config.in
Build optionsConfig.in
Toolchaintoolchain/Config.in
System configurationsystem/Config.in
Kernellinux/Config.in
Target packagespackage/Config.in
Target packages->Busybox 
Filesystem imagesfs/Config.in
Bootloadersboot/Config.in
Host utilitiespackage/Config.in.host
Legacy config optionsConfig.in.legacy
  

 

3. 配置Linux Kernel

对Linux内核的配置包括两部分:通过make menuconfig进入Kernel对内核进行选择,通过make linux-menuconfig对内核内部进行配置。

3.1 选择Linux内核版本

如下“Kernel version”选择内核的版本、“Defconfig name”选择内核config文件、“Kernel binary formant”选择内核格式、“Device tree source file names”选择DT文件,

在“Linux Kernel Tools”中选择内核自带的工具,比如perf。

可以选择“Custom Git repository”来指定自己的Git库,在“Custom repository version”中指定branch名称。

选择“Using an in-tree defconfig file”,在“Defconfig name”中输入defconfig名称,注意不需要末尾_defconfig。

选择“Use a device tree present in the kernel”,在“Device Tree Source file names”中输入dts名称,不需要.dts扩展名。

3.1.1 Kernel binary format

可以选择vmlinux或者uImage。

uImage是uboot专用的映像文件,它是在zImage之前加上一个长度为64字节的“头”,说明这个内核的版本、加载位置、生成时间、大小等信息;其0x40之后与zImage没区别。 

zImage是ARM Linux常用的一种压缩映像文件,uImage是U-boot专用的映像文件,它是在zImage之前加上一个长度为0x40的“头”,说明这个映像文件的类型、加载位置、生成时间、大小等信息。

vmlinux编译出来的最原始的内核elf文件,未压缩。

zImage是vmlinux经过objcopy gzip压缩后的文件, objcopy实现由vmlinux的elf文件拷贝成纯二进制数据文件。

uImage是U-boot专用的映像文件,它是在zImage之前加上一个长度为0x40的tag。 

 选择vmlinux和uImage的区别在于:

PATH="/bin..." BR_BINARIES_DIR=/home/.../output/images /usr/bin/make -j9 HOSTCC="/usr/bin/gcc" HOSTCFLAGS="" ARCH=csky INSTALL_MOD_PATH=/home/.../output/target CROSS_COMPILE="/home/.../output/host/bin/csky-abiv2-linux-" DEPMOD=/home/.../output/host/sbin/depmod INSTALL_MOD_STRIP=1 -C /home/.../linux uImage

如果是vmlinux,在结尾就是vmlinux。 

3.2 对Kernel进行配置

通过make linux-menuconfig可以对内核内部细节进行配置。

让Linux内核带符号表:

# CONFIG_COMPILE_TEST is not set

CONFIG_DEBUG_INFO=y

4. 配置文件系统APP

对目标板文件系统内容进行配置主要通过make menuconfig进入Target packages进行。

在Filesystem images中配置文件系统采用的格式,以及是否使用RAM fs。

4.1 ramfs

如果选中“initial RAM filesystem linked into linux kernel”,那么文件系统会集成到vmlinux中。

如不选中,则vmlinux中只包括内核,文件系统会以其他形似提供,比如rootfs.cpio。

如果定义了BR2_TARGET_ROOTFS_INITRAMFS,那么在编译的末期需要重新编译内核,将rootfs.cpio加入到vmlinux中。

fs/initramfs/initramfs.mk中:

rootfs-initramfs: linux-rebuild-with-initramfsrootfs-initramfs-show-depends:@echo rootfs-cpio.PHONY: rootfs-initramfs rootfs-initramfs-show-dependsifeq ($(BR2_TARGET_ROOTFS_INITRAMFS),y)
TARGETS_ROOTFS += rootfs-initramfs
endif

在linux/linux.mk中:

.PHONY: linux-rebuild-with-initramfs
linux-rebuild-with-initramfs: $(LINUX_DIR)/.stamp_target_installed
linux-rebuild-with-initramfs: $(LINUX_DIR)/.stamp_images_installed
linux-rebuild-with-initramfs: rootfs-cpio
linux-rebuild-with-initramfs:@$(call MESSAGE,"Rebuilding kernel with initramfs")# Build the kernel.$(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(LINUX_DIR) $(LINUX_TARGET_NAME)$(LINUX_APPEND_DTB)# Copy the kernel image(s) to its(their) final destination$(call LINUX_INSTALL_IMAGE,$(BINARIES_DIR))# If there is a .ub file copy it to the final destinationtest ! -f $(LINUX_IMAGE_PATH).ub || cp $(LINUX_IMAGE_PATH).ub $(BINARIES_DIR)

在打开initramfs的情况下,重新将rootfs.cpio编译进内核vmlinxu中。

然后将uImage之类的文件拷贝到BINARIES_DIR中。

5. 添加自己的APP

要添加自己的本地APP, 首先在package/Config.in中添加指向新增APP目录的Config.in;

然后在package中新增目录helloworld,并在里面添加Config.in和helloworld.mk;

最后添加对应的helloworld目录。

5.1 添加package/Config.in入口

系统在make menuconfig的时候就可以找到对应的APP的Config.in。

diff --git a/package/Config.in b/package/Config.in
index 43d75a9..6ef9fad 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1868,5 +1868,8 @@ menu "Text editors and viewers"source "package/uemacs/Config.in"source "package/vim/Config.in"endmenu
+menu "Private package"
+       source "package/helloworld/Config.in"
+endmenu

 如果在make menuconfig的时候选中helloworld,在make savedefconfig的时候就会打开BR2_PACKAGE_HELLOWORLD=y。

5.2 配置APP对应的Config.in和mk文件

helloworld/Config.in文件,通过make menuconfig可以对helloworld进行选择。

只有在BR2_PACKAGE_HELLOWORLD=y条件下,才会调用helloworld.mk进行编译。

config BR2_PACKAGE_HELLOWORLDbool "helloworld"helpThis is a demo to add local app.

buildroot编译helloworld所需要的设置helloworld.mk,包括源码位置、安装目录、权限设置等。

下面的HELLOWORLD的开头也是必须的。

################################################################################
#
# helloworld
#
################################################################################HELLOWORLD_VERSION:= 1.0.0
HELLOWORLD_SITE:= $(CURDIR)/work/helloworld
HELLOWORLD_SITE_METHOD:=local
HELLOWORLD_INSTALL_TARGET:=YESdefine HELLOWORLD_BUILD_CMDS$(MAKE) CC="$(TARGET_CC)" LD="$(TARGET_LD)" -C $(@D) all
endefdefine HELLOWORLD_INSTALL_TARGET_CMDS$(INSTALL) -D -m 0755 $(@D)/helloworld $(TARGET_DIR)/bin
endefdefine HELLOWORLD_PERMISSIONS/bin/helloworld f 4755 0 0 - - - - -
endef$(eval $(generic-package))

如果源码在git上,需要如下设置:

 DMA_TEST_VERSION:=master--------------------------------------仓库分支名称DMA_TEST_SITE:=http://.../dma.git-----------------------------仓库git地址DMA_TEST_SITE_METHOD:=git-------------------------------------获取源码的方式

_VERSION结尾的变量是源码的版本号;_SITE_METHOD结尾的变量是源码下载方法;_SITE结尾变量是源码下载地址。

_BUILD_CMDS结尾的变量会在buildroot框架编译的时候执行,用于给源码的Makefile传递编译选项和链接选项,调用源码的Makefile。

_INSTALL_TARGET_CMDS结尾的变量是在编译完之后,自动安装执行,一般是让buildroot把编译出来的的bin或lib拷贝到指定目录。

$(eval$(generic-package)) 最核心的就是这个东西了,一定不能够漏了,不然源码不会被编译,这个函数就是把整个.mk构建脚本,通过Buildroot框架的方式,展开到Buildroot/目录下的Makfile中,生成的构建目标(构建目标是什么,还记得Makefile中的定义吗?)。

5.3 编写APP源码

简单的编写一个helloworld.c文件:

#include <stdio.h>void main(void)
{printf("Hello world.\n");
}

然后编写Makefile文件:

CPPFLAGS += 
LDLIBS += all: helloworldanalyzestack: helloworld.o$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)clean:rm -f *.o helloworld.PHONY: all clean

5.4 通过make menuconfig选中APP

通过Target packages -> Private package进入,选中helloworld。

然后make savedefconfig,对helloworld的配置就会保存到qemu_arm_vexpress_defconfig中。

5.5 编译APP

可以和整个平台一起编译APP;或者make helloworld单独编译。

这两个文件在选中此APP之后,都会被拷贝到output/build/helloworld-1.0.0文件夹中。

然后生成的bin文件拷贝到output/target/bin/helloworld,这个文件会打包到文件系统中。

如果需要清空相应的源文件,通过make helloworld-dirclean。

5.6 运行APP

在shell中输入helloworld,可以得到如下结果。

添加APP工作完成。

6. uboot配置

使用uboot作为bootloader,需要进行一些配置。

在选中U-boot作为bootloader之后,会弹出一系列相关配置。

“U-Boot board name”配置configs的defconfig名称。

“U-Boot Version”选择Custom Git repository,然后在“URL of custom repository”中选择自己的git地址,并在“Custom repository version”中选择git的分支。

在“U-Boot binary format”中选择想要输出的image格式,比如u-boot.img或者u-image.bin。

还可以选择“Intall U-Boot SPL binary image”,选择合适的SPL。

7. Finalizing target

在buildroot编译的末期,需要对编译结果进行一些检查或者其他操作。

buildroot预留了两个接口:

BR2_ROOTFS_OVERLAY - 指向一个目录,此目录下的所有文件将会覆盖到output/target下。比如一些配置文件,或者预编译的库等可以在此阶段处理。

BR2_ROOTFS_POST_BUILD_SCRIPT - 一个脚本,更加复杂的对文件进行删除、重命名、strip等等功能。

BR2_ROOTFS_POST_IMAGE_SCRIPT - 对最终生成的images进行打包处理等。

7.1 FS Overlay

有些应用或者配置不通过编译,直接采取拷贝的方式集成到rootfs中,可以设置“System configuration”->“Root filesystem overlay directories”。

设置的目录中的内容,会对output/target进行覆盖。

相关处理在Makefile中如下:

    @$(foreach d, $(call qstrip,$(BR2_ROOTFS_OVERLAY)), \$(call MESSAGE,"Copying overlay $(d)"); \rsync -a --ignore-times --keep-dirlinks $(RSYNC_VCS_EXCLUSIONS) \--chmod=u=rwX,go=rX --exclude .empty --exclude '*~' \$(d)/ $(TARGET_DIR)$(sep))

7.2 post build

除了fs overlay这种方式,buildroot还提供了一个脚本进行更加复杂的处理。

可以进行文件删除、重命名,甚至对带调试信息的文件进行strip等。

    @$(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_BUILD_SCRIPT)), \$(call MESSAGE,"Executing post-build script $(s)"); \$(EXTRA_ENV) $(s) $(TARGET_DIR) $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS))$(sep))

一个post_build.sh范例,对一系列文件进行删除和strip操作:

#!/bin/sh
#set -x
set +o errexitcp -a ${BINARIES_DIR}/deepeye1000e_hk.dtb ${BINARIES_DIR}/deepeye1000.dtb#Strip files in tbc_lists.txt. tbc means 'to be stripped'.
STRIP=${HOST_DIR}/bin/csky-abiv2-linux-stripfor file in `cat ${BR2_EXTERNAL_INTELLIF_PATH}/board/deepeye1000e_hk/tbs_lists.txt`
doif [ -e ${TARGET_DIR}${file} ]; thenecho Strip ${file}.${STRIP} ${TARGET_DIR}${file}elseecho Not found ${file}.fi
done#Delete files in tbd_lists.txt. tbd means 'to be deleted'
for file in `cat ${BR2_EXTERNAL_INTELLIF_PATH}/board/deepeye1000e_hk/tbd_lists.txt`
doif [ -e ${TARGET_DIR}${file} ]; thenecho Delete ${file}.rm ${TARGET_DIR}${file}elseecho Not found ${file}.fi
done${BR2_EXTERNAL_INTELLIF_PATH}/board/common/post_build.sh

7.2 post image

post image在post build之后,更倾向于生成完整的release文件。包括进行一些images打包、debug文件打包等等。

.PHONY: target-post-image
target-post-image: $(TARGETS_ROOTFS) target-finalize@$(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_IMAGE_SCRIPT)), \$(call MESSAGE,"Executing post-image script $(s)"); \$(EXTRA_ENV) $(s) $(BINARIES_DIR) $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS))$(sep))

一个范例如下,对images文件进行打包操作。

#!/bin/sh
set -x -eIMG_DIR=output/images
DEBUG_DIR=${IMG_DIR}/debug
KERNEL_DIR=output/build/linux-masterROOTFS_CPIO=${IMG_DIR}/rootfs.cpio
KERNEL_IMAGE=${IMG_DIR}/uImage
SPL_IMAGE=${IMG_DIR}/u-boot-spl-bh.bin
UBOOT_IMAGE=${IMG_DIR}/u-boot.binIMG_TAR=images.tar.gz
DEBUG_TAR=debug.tar.gz
IMG_MD5=images.md5rm -f ${IMG_TAR} ${DEBUG_TAR} ${IMG_MD5}mkdir -p ${DEBUG_DIR}
cp -a ${KERNEL_DIR}/vmlinux ${KERNEL_DIR}/System.map ${ROOTFS_CPIO} ${DEBUG_DIR}/tar -czf ${IMG_TAR} ${KERNEL_IMAGE} ${SPL_IMAGE} ${UBOOT_IMAGE}
tar -czf ${DEBUG_TAR} -C ${IMG_DIR} debug/md5sum ${IMG_TAR} > ${IMG_MD5}

8. buildroot编译性能

buildroot还提供了一些命令,用于分析buildroot编译过程中耗时、依赖关系、文件系统尺寸等等。

通过make help发现相关命令:

Documentation:manual                 - build manual in all formatsmanual-html            - build manual in HTMLmanual-split-html      - build manual in split HTMLmanual-pdf             - build manual in PDFmanual-text            - build manual in textmanual-epub            - build manual in ePubgraph-build            - generate graphs of the build timesgraph-depends          - generate graph of the dependency treegraph-size             - generate stats of the filesystem sizelist-defconfigs        - list all defconfigs (pre-configured minimal systems)

8.1 编译耗时

执行make graph-build会生成如下文件:

其中比较有参考意义的文件是build.hist-duration.pdf文件,按照耗时从大到小排列。

通过此图可以明白整个编译流程时间都耗在哪里,针对性进行分析优化,有利于提高编译效率。

8.2 编译依赖关系

生成graph-depends.pdf,可以看出各个编译模块之间的依赖关系。

buildroot的库会根据依赖关系被自动下载,通过此图也可以了解某些某块被谁依赖。

8.3 编译结果尺寸分析

通过graph-size.pdf文件可以对整个编译结果组成有个大概理解。

另外更有参考意义的是file-size-stats.csv和package-size-stats.csv文件。

通过file和package两个视角,更加详细的了解整个rootfs空间都被那些文件占用。

 

原文链接:https://www.cnblogs.com/arnoldlu/p/9553995.html

《buildroot认知》

联系方式:arnoldlu@qq.com

 

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 终于明白为什么百度腾讯阿里这么多人争抢着进了,看完这份Springcloud笔记,原因竟是。。。

    写在前面Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。微服务是可以独立部署、水平扩展、独立…...

    2024/4/10 11:16:48
  2. 商务建筑空间场景合成海报

    商务科技海报设计中合成海报占据重要的地位,很多的朋友可能对于合成海报是可望而不可及,感觉很高大上,却又做不来!这都不要紧,看看优图网 带来的商务建筑空间场景合成海报,PSD分层模板,通过临摹,一则用来强化技法层面的能力,二来也能提升初学者的创新能力。临摹的内容…...

    2024/4/10 11:16:48
  3. uni-app写行业列表,通过多级联动显示

    看下u-view是如何写的 <template><u-select v-model="show" mode="mutil-column-auto" :list="list" @confirm="confirm"></u-select> </template><script>export default {data() {return {show: true…...

    2024/4/27 22:58:18
  4. 股票杠杆是什么意思

    杠杆,将借到的货bai币追加到用于投资的du现有资金上;杠杆率,zhi资产与银行资本的比率;财务dao管理中的杠杆效应,主要表现为:由于特定费用(如固定成本或固定财务费用)的存在而导致的,当某一财务变量以较小幅度变动时,另一相关财务变量会以较大幅度变动。杠杆融资www.7…...

    2024/4/11 21:38:56
  5. input子系统——专题

    input整体框架输入子系统设备驱动层,主要实现对硬件设备的读写访问,中断设置,并把硬件产生的事件转换为核心层定义的规范提交给事件处理层。核心层,为设备驱动层提供了规范和接口。设备驱动层只要关心如何驱动硬件并获得硬件数据(例如按下的按键数据),然后调用核心层提供…...

    2024/4/11 21:38:55
  6. C++学习笔记【三十八】—— 预处理器

    预处理器是一些指令,指示编译器在实际编译之前所需完成的预处理。 所有的预处理器指令都是以井号(#)开头,只有空格字符可以出现在预处理指令之前。预处理指令不是 C++ 语句,所以它们不会以分号(;)结尾。 C++ 还支持很多预处理指令,比如 #include、#define、#if、#else、…...

    2024/4/29 23:45:58
  7. WSL(Windows Subsystem for Linux) Ubuntu安装mysql

    WSL(Windows Subsystem for Linux) Ubuntu安装mysql 一、清除mysql相关的安装信息 apt-get remove mysql-server apt-get autoremove mysql-server apt-get remove mysql-common rm /var/lib/mysql/ -R rm /etc/mysql/ -R apt-get autoremove mysql* --purge apt-get remove ap…...

    2024/4/21 0:27:35
  8. js根据关键词数组匹配违禁词并标红显示

    废话不多说,直接上代码html:(使用到了wangEditor富文本框)<script type="text/javascript" src="js/jquery.min.js"></script><script type="text/javascript" src="wangEditor-3.1.1/release/wangEditor.min.js"&…...

    2024/4/23 5:32:40
  9. 分割回文最小次数

    标题 class Solution:def minCut(self, s):if not s:return 0s_len = len(s)mem = [i for i in range(-1, s_len)]for i in range(1, s_len + 1):for j in range(i):if s[j:i] == s[j:i][::-1]:mem[i] = min(mem[i], mem[j] + 1)return mem[-1] a = Solution().minCut(aaba) pr…...

    2024/4/11 21:38:51
  10. 构建企业问答知识库对企业来说有必要吗?

    作为管理者,当您在带领团队打拼时,是否遇到过以下困扰:团队资料分散零乱,查找起来费时费力?项目信息难以共享,团队成员重复劳作?业务经验无法沉淀,知识资产流失严重?团队/企业如何将知识进行有效地管理及合理的利用,显然成为了一个重要的工作。随着互联网时代的来临,…...

    2024/4/11 21:38:51
  11. Java 7 新的 try-with-resources 语句,自动资源释放

    读取文件后需要释放资源,对于占用内存比较大的,非常重要; (1)读取文件内存占用较多的优化方式: 一次读取部分处理完继续读取,可以有效的减少内存的占用; 使用RandomAccessFile可以从文件的任意位置读取,优势超级明显; raf.seek(filePointer); 可以设置从文件的哪个指…...

    2024/4/11 21:38:49
  12. 数据库设计之字段冗余

    学过数据库设计的同学都知道,数据库设计有三大范式,但是在实际工作中,三大范式很难被严格的执行。本文将给大家介绍一种常见的、违反范式的数据库设计方案——字段冗余1 经典示例先来看一个经典的例子,在一些商城系统里,要显示已购买的订单,一般会显示订单号、下单时间、…...

    2024/4/21 8:46:16
  13. fortran动态库编译命令

    fortran动态库编译命令:gfortran -shared -fPIC -o ap8ae8.so ap8ae8.for...

    2024/4/25 8:26:49
  14. (三) Elasticsearch 和 Kibana常用的命令

    文章目录1. 查看节点状态2. 查看索引3. 查看节点列表4. 增加索引5. 删除索引6. 新增document7. 搜索 type 全部数据8. 查找指定 id 的 document 数据9. 修改 documentA. 整体替换B. 只修改某个字段10. 删除一个 document11. 按条件查询(全部)12. 按照字段的分词查询13. 按照…...

    2024/4/11 21:38:46
  15. jpa规范化元模型使用

    1.简介规范化元模型由专用类组成,通常每个持久化类生成一个,其包含了与该持久化类相关联的元模型对象的静态声明。2.简单示例实体类:@Data @Entity @NoArgsConstructor @AllArgsConstructor public class User {@Idprivate Integer id;private String name;private Integer …...

    2024/4/10 11:16:58
  16. i7-10850H性能怎么样?相当于台式机什么水平?

    英特尔酷睿i7-10850H是一款高端笔记本电脑处理器,具有基于Comet Lake架构(CML-H,第四代Skylake)的六个内核。 处理器的频率在2.7至4.8 GHz之间,并且借助超线程技术可以同时执行多达12个线程。 该处理器仍采用旧的14nm(14nm ++)工艺制造。 与之前的Core i7-9750H相比,10…...

    2024/5/2 0:18:31
  17. 让中国式复杂报表不复杂的工具来啦

    做过表格的人可能都经历过一件痛苦的事——制作复杂报表。对于一些报表,如下图生产计划表,由于存在很多维度参数、表内及表间的关联,填写一不小心,报表就错乱了,而且手工调整费时又费力。所谓万能的Excel数据透视表又无法完成多种分类统计,如型号、日期、生产线等。像这种…...

    2024/4/10 11:16:56
  18. 纸杯测试用例

    功能测试: 1.能否盛水,能否喝水 2.能否加热,冷藏 性能测试: 1.杯子的容量是多少 2.能否盛开水,冰水 3.能承受多高温度的水,多低温度的水 4.长时间放置是否容易渗水 5.是否容易变形,掉色,保温 6.杯底是否容易脱落 界面测试: 1.界面是否美观 2.杯口杯壁是否圆整 兼容性测…...

    2024/4/23 14:33:56
  19. echarts-折线图 -多折线但数据长度不一的option设置

    使用dataset 和 datasetIndex option = {legend: {},tooltip: {},dataset: [{dimensions: [date, A],source: [[8/1, 1.1],[8/2, 1.2],[8/3, 1.25],[8/4, 1.15]]},{dimensions: [date, B],source: [[8/2, 1.02],[8/3, 1.15],[8/5, 1.2]]},],xAxis: {type: category},yAxis: {},…...

    2024/4/10 11:16:54
  20. 新媒体运营教程:活动运营步骤大全

    说说我对活动运营的看法,全文字数多,建议慢慢读,多看几次。 青岛艺形艺意文化传媒有限公司创始人,青岛首席商学院新媒体运营创始人,资深新媒体运营人,IT行业观察者,新型互联网+营销实践者,金牌文案创作者,腾讯网、百度网、今日头条、搜狐网、网易新闻网、凤凰新闻网等…...

    2024/4/17 18:07:53

最新文章

  1. 知乎广告开户流程,知乎广告的优势是什么?

    社交媒体平台不仅是用户获取知识、分享见解的场所&#xff0c;更是品牌展示、产品推广的重要舞台。知乎作为国内知名的知识分享社区&#xff0c;以其高质量的内容生态和庞大的用户基础&#xff0c;成为了众多企业进行广告投放的优选之地。云衔科技通过其专业服务&#xff0c;助…...

    2024/5/2 23:13:28
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 流域生态系统水-碳-氮耦合过程模拟

    流域是一个相对独立的自然地理单元&#xff0c;它是以水系为纽带&#xff0c;将系统内各自然地理要素连结成一个不可分割的整体。碳和氮是陆地生态系统中最重要的两种化学元素&#xff0c;而在流域系统内&#xff0c;水-碳-氮是相互联动、不可分割的耦合体。随着流域内人类活动…...

    2024/5/1 13:35:58
  4. PCB板在线自动激光打标机:高效、精准的电路板标识利器

    PCB板在线自动激光打标机是一种高度自动化的设备&#xff0c;专为PCB&#xff08;印刷电路板&#xff09;板的在线镭雕需求而设计。这种设备结合了激光技术和自动化控制&#xff0c;使得在PCB板上进行高精度、高效率的镭雕成为可能。 ​ PCB板在线自动激光打标机主要由控制系统…...

    2024/5/1 14:08:23
  5. 416. 分割等和子集问题(动态规划)

    题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义&#xff1a;dp[i][j]表示当背包容量为j&#xff0c;用前i个物品是否正好可以将背包填满&#xff…...

    2024/5/2 11:19:01
  6. 【Java】ExcelWriter自适应宽度工具类(支持中文)

    工具类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet;/*** Excel工具类** author xiaoming* date 2023/11/17 10:40*/ public class ExcelUti…...

    2024/5/2 16:04:58
  7. Spring cloud负载均衡@LoadBalanced LoadBalancerClient

    LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon&#xff0c;直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件&#xff0c;我们讨论Spring负载均衡以Spring Cloud2020之后版本为主&#xff0c;学习Spring Cloud LoadBalance&#xff0c;暂不讨论Ribbon…...

    2024/5/1 21:18:12
  8. TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案

    一、背景需求分析 在工业产业园、化工园或生产制造园区中&#xff0c;周界防范意义重大&#xff0c;对园区的安全起到重要的作用。常规的安防方式是采用人员巡查&#xff0c;人力投入成本大而且效率低。周界一旦被破坏或入侵&#xff0c;会影响园区人员和资产安全&#xff0c;…...

    2024/5/2 9:47:31
  9. VB.net WebBrowser网页元素抓取分析方法

    在用WebBrowser编程实现网页操作自动化时&#xff0c;常要分析网页Html&#xff0c;例如网页在加载数据时&#xff0c;常会显示“系统处理中&#xff0c;请稍候..”&#xff0c;我们需要在数据加载完成后才能继续下一步操作&#xff0c;如何抓取这个信息的网页html元素变化&…...

    2024/5/2 9:47:31
  10. 【Objective-C】Objective-C汇总

    方法定义 参考&#xff1a;https://www.yiibai.com/objective_c/objective_c_functions.html Objective-C编程语言中方法定义的一般形式如下 - (return_type) method_name:( argumentType1 )argumentName1 joiningArgument2:( argumentType2 )argumentName2 ... joiningArgu…...

    2024/5/2 6:03:07
  11. 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】

    &#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】&#x1f30f;题目描述&#x1f30f;输入格…...

    2024/5/2 9:47:30
  12. 【ES6.0】- 扩展运算符(...)

    【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数&#xff0…...

    2024/5/1 11:24:00
  13. 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?

    文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕&#xff0c;各大品牌纷纷晒出优异的成绩单&#xff0c;摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称&#xff0c;在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁&#xff0c;多个平台数据都表现出极度异常…...

    2024/5/2 5:31:39
  14. Go语言常用命令详解(二)

    文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令&#xff0c;这些命令可以帮助您在Go开发中进行编译、测试、运行和…...

    2024/5/1 20:22:59
  15. 用欧拉路径判断图同构推出reverse合法性:1116T4

    http://cplusoj.com/d/senior/p/SS231116D 假设我们要把 a a a 变成 b b b&#xff0c;我们在 a i a_i ai​ 和 a i 1 a_{i1} ai1​ 之间连边&#xff0c; b b b 同理&#xff0c;则 a a a 能变成 b b b 的充要条件是两图 A , B A,B A,B 同构。 必要性显然&#xff0…...

    2024/5/2 9:47:28
  16. 【NGINX--1】基础知识

    1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息&#xff0c;并安装一些有助于配置官方 NGINX 软件包仓库的软件包&#xff1a; apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...

    2024/5/2 9:47:27
  17. Hive默认分割符、存储格式与数据压缩

    目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限&#xff08;ROW FORMAT&#xff09;配置标准HQL为&#xff1a; ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…...

    2024/5/2 0:07:22
  18. 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法

    文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中&#xff0c;传感器和控制器产生大量周…...

    2024/5/2 8:37:00
  19. --max-old-space-size=8192报错

    vue项目运行时&#xff0c;如果经常运行慢&#xff0c;崩溃停止服务&#xff0c;报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中&#xff0c;通过JavaScript使用内存时只能使用部分内存&#xff08;64位系统&…...

    2024/5/2 9:47:26
  20. 基于深度学习的恶意软件检测

    恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞&#xff0c;例如可以被劫持的合法软件&#xff08;例如浏览器或 Web 应用程序插件&#xff09;中的错误。 恶意软件渗透可能会造成灾难性的后果&#xff0c;包括数据被盗、勒索或网…...

    2024/5/2 9:47:25
  21. JS原型对象prototype

    让我简单的为大家介绍一下原型对象prototype吧&#xff01; 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定&#xff0c;每一个构造函数都有一个 prototype 属性&#xff0c;指向另一个对象&#xff0c;所以我们也称为原型对象…...

    2024/5/1 14:33:22
  22. C++中只能有一个实例的单例类

    C中只能有一个实例的单例类 前面讨论的 President 类很不错&#xff0c;但存在一个缺陷&#xff1a;无法禁止通过实例化多个对象来创建多名总统&#xff1a; President One, Two, Three; 由于复制构造函数是私有的&#xff0c;其中每个对象都是不可复制的&#xff0c;但您的目…...

    2024/5/2 18:46:52
  23. python django 小程序图书借阅源码

    开发工具&#xff1a; PyCharm&#xff0c;mysql5.7&#xff0c;微信开发者工具 技术说明&#xff1a; python django html 小程序 功能介绍&#xff1a; 用户端&#xff1a; 登录注册&#xff08;含授权登录&#xff09; 首页显示搜索图书&#xff0c;轮播图&#xff0…...

    2024/5/2 7:30:11
  24. 电子学会C/C++编程等级考试2022年03月(一级)真题解析

    C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...

    2024/5/1 20:56:20
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57