MinGW-W64 下载、安装与配置(支持最新版的GCC,目前 GCC 13.2.0)VSCode配置c/c++环境 彻底删除vscode(包括插件及配置!)

news2025/2/23 4:22:56

目录

一、简介

二、下载

1  旧版安装(8.1.0) 

从 sourceforge.net 下载

2  新版安装(本次采用较新版本~~~)

从 github 下载

从 镜像站点 下载

 自己编译

三、安装与配置

1. 在线安装(这里仅作参考了解)

2. 离线安装(这是本文安装的重点,也是本机安装的版本~~~)★★★

1   下载MinGW-w64的安装包

2   下载到指定位置后,找一个地方解压(记住这个路径,后面配置环境变量用)。

3   环境配置

4   检查是否配置成功

四、VsCode配置c语言

1. 下载c/c++插件

2. 运行代码 

3. 调整和优化

task.json文件

生成launch.json文件

多文件的运行和调试

多项目管理和scanf输入

五、配置C++

卸载VSCode

1.直接控制面板卸载

2.删除安装插件(位置为:C:\Users\smxsh\.vscode)

3.删除配置信息 


一、简介

1. MinGW MinGW-W64 区别和联系
MinGW和MinGW-W64都是用于Windows平台的轻量级GNU工具链,用于开发和编译C和C++程序。

MinGW(Minimalist GNU for Windows)是一个32位的GNU工具链,它提供了一套基于GNU的开发环境,包括GCC编译器和一些GNU库,可以用来编译Windows下的C和C++程序。但MinGW只支持32位程序的编译。

MinGW-W64是一个64位的GNU工具链,是MinGW的升级版,原本它是MinGW的分支,后来成为独立发展的项目,它支持同时编译32位和64位程序。它包括了一系列的GNU库和工具,例如GCC、Binutils、GDB等,还支持一些实用工具和库,如OpenMP、MPI等。

总的来说,MinGW-W64可以看作是MinGW的升级版,它支持更多的编译选项和更多的库,可以编译出更加高效和安全的程序。

另外,MinGW-W64原本是从MinGW项目fork出来的独立的项目。MinGW 早已停止更新,内置的GCC最高版本为4.8.1,而MinGW-W64目前仍在维护,它也是GCC官网所推荐的。

关于更多 MinGW 和 MinGW-W64 相关的知识:

科普MinGW MinGW-W64_mingw64_whatday的博客-CSDN博客

c++ - What is the difference between MinGW, MinGW-w64 and MinGW-builds? - Stack Overflow

MinGW-w64官网:c++ - What is the difference between MinGW, MinGW-w64 and MinGW-builds? - Stack Overflow

GCC官网:GCC, the GNU Compiler Collection - GNU Project

2. MSVCRT UCRT 介绍

MSVCRT和UCRT都是用于Windows平台的C运行时库,提供了基本的C函数和类型,用于C程序的开发和运行。

MSVCRT(Microsoft Visual C Runtime)是Microsoft Visual C++早期版本使用的运行时库,用于支持C程序的运行。它提供了一些常用的C函数,如printf、scanf、malloc、free等。MSVCRT只能在32位Windows系统上运行,对于64位系统和Windows Store应用程序不支持。

UCRT(Universal C Runtime)是在Windows 10中引入的新的C运行时库,用于支持C程序的运行和开发。UCRT提供了一些新的C函数,同时还支持Unicode字符集和安全函数,如strcpy_s、strcat_s、_itoa_s等。UCRT同时支持32位和64位系统,并且可以与Windows Store应用程序一起使用。

总的来说,UCRT是Microsoft为了更好地支持Windows 10和Windows Store应用程序而开发的新一代C运行时库,相比于MSVCRT,UCRT提供了更多的功能和更好的兼容性。但对于旧的32位Windows系统,MSVCRT仍然是必需的。


二、下载

MinGW-w64 更新日志: 

Changelog - MinGW-w64

MinGW-w64 源码地址:

  • Github上的:
  • sourceforge.net上的:MinGW-w64 - for 32 and 64 bit Windows / mingw-w64 / [3d3956] (sourceforge.net)

找了很多教程, 基本都是从 sourceforge 上下的 8.1.0 版本,8.1.0版本是2018年更新的,属实有点老,因此借着本次重装系统,也将其更新一下~~~~

1  旧版安装(8.1.0) 

从 sourceforge.net 下载

  • 在线安装
  1. Win32 位:Download mingw-w64-install.exe (MinGW-w64 - for 32 and 64 bit Windows) (sourceforge.net)
  • 离线安装:
  1. Win32 位:MinGW-w64 - for 32 and 64 bit Windows - Browse /Toolchains targetting Win32/Personal Builds/mingw-builds at SourceForge.net
  2. Win64 位:MinGW-w64 - for 32 and 64 bit Windows - Browse /Toolchains targetting Win32/Personal Builds/mingw-builds at SourceForge.net

不推荐在线安装,安装过程特别慢,而且还可能失败!
注意:这里提供的二进制安装程序是旧的,支持的GCC版本停留在了"MinGW-W64 GCC-8.1.0"

截至目前GCC最新版本为:GCC-13.2
详情请参考:GCC Releases - GNU Project

如果你有特定需求,需要使用旧版本的,你可以参考下面的文章进行安装及配置:

使用VScode编写C语言程序 环境安装配置 保姆级教程_vscode安装编译器_Siobhan. 明鑫的博客-CSDN博客

2  新版安装(本次采用较新版本~~~)

从 github 下载

首先,到 MinGW-w64官网->下载

往下, 找到 MinGW-builds , 点击下面的 Github 链接。

当然,为了方便,链接放这里了:

 Releases · niXman/mingw-builds-binaries · GitHub

  • 在线安装:
    • Releases · Vuniverse0/mingwInstaller (github.com)
  • 离线安装:

13.2.0版本:Releases · mmozeiko/build-gcc-mingw (github.com)
13.1.0官方GitHub版本:Releases · niXman/mingw-builds-binaries (github.com)


从 镜像站点 下载

网上找到的一个MinGW-w64镜像站点
Index of /mingw

​ 

最新版本更新到12.2.0


 自己编译

直接编译会比较复杂,这里推荐几个大神写好的MinGW-w64编译工具:

niXman/mingw-builds: Scripts for building the 32 and 64-bit MinGW-W64 compilers for Windows (github.com)

mmozeiko/build-gcc-mingw: Automatic 32-bit and 64-bit Windows build of gcc, mingw-w64, gdb and make. (github.com)

怎么使用?看对应的Readme介绍,本文不介绍。


三、安装与配置

1. 在线安装(这里仅作参考了解)

这里不介绍 sourceforge.net上的在线安装,它上面的GCC版本太老了~~~

这里介绍Releases · Vuniverse0/mingwInstaller (github.com)

的在线安装方式:

1)下载mingwInstaller.exe

2)以管理员身份运行mingwInstaller.exe,开始安装

3)选择GCC版本
注意:有好几个版本的mingwInstaller.exe,不同的版本支持的GCC版本不一样,我这里使用的是1.2.0版

4)选择软件架构
选择32bit还是64bit,看你自己的操作系统是多少位的

5)选择线程模型
你开发的程序如果是运行在Windows系统上就选win32,如果是运行在其他系统(如 Linux,Unix,Mac OS等)就选posix
更多信息请参考:windows - mingw-w64 threads: posix vs win32 - Stack Overflow

6)选择构建版本
选择构建版本,这里好像只有一个rev1,一般保持默认即可

7)选择运行时库类型
选择运行时库类型,前面简介里有介绍

8)选择安装位置
可以勾选上Create shortcut on Desktop,使用会方便些

9)安装过程(自动下载、解压、安装配置)

2. 离线安装(这是本文安装的重点,也是本机安装的版本~~~)★★★

从 GitHub或镜像站点下载编译好的安装程序包(【二、下载】中提供的有地址)

以  Releases · niXman/mingw-builds-binaries (github.com)为例,离线安装比较简单,只需下载解压即可

本此安装采用的是新版官方网址中GitHub的13.1.0的版本!!!!

1   下载MinGW-w64的安装包

根据自己的需要选择适合的安装包

  • 32位的操作系统,选择i686;64位的操作系统,选择x86_64
  • 13.1.0 是GCC的版本号,其他版本的你需要往下找;
  • win32是开发windows系统程序的协议,posix是其他系统的协议(例如Linux、Unix、Mac OS),更多信息参考:windows - mingw-w64 threads: posix vs win32 - Stack Overflow
  • 异常处理模型seh(新的,仅支持64位系统),sjlj(稳定的,64位和32位都支持), dwarf(优于sjlj的,仅支持32位系统),更多信息参考:c++ - What is difference between sjlj vs dwarf vs seh? - Stack Overflow
  • msvcrt、ucrt 运行时库类型,有关介绍请参考文章简介部分;
  • rt_v11 运行时库版本;
  • rev1 构建版本;

可以参考以下文章决定下载版本:

WinLibs - GCC+MinGW-w64 compiler for Windows

在 Visual Studio Code 中开始在 Linux 上C++

Downloads - MinGW-w64

最终决定下载:x86_64-13.1.0-release-posix-seh-ucrt-rt_v11-rev1 版本

posix更加兼容,仅POSIX线程构建(其中还包括 Win32 API 线程函数);

SEH 表示 64 位 (x86_64);

ucrt:除非您的目标是旧版本的 Windows,否则 UCRT 作为运行时库是更好的选择,因为它是为了更好地支持最新的 Windows 版本以及提供更好的标准一致性而编写的(详细参考:Upgrade your code to the Universal CRT | Microsoft Learn)

这里我们选择安装:

2   下载到指定位置后,找一个地方解压(记住这个路径,后面配置环境变量用)。

3   环境配置

1)如果你是按照【1.在线安装】的,可以不用配置环境变量,直接打开MinGW-W64-64bit快捷方式(桌面或开始菜单),然后在打开的命令行窗口中直接就可以使用gcc等命令

2)如果你是按照【2.离线安装】的,将解压后的目录下的bin路径,手动添加到系统的PATH环境变量。这里是我们最终选择的方式,因此再次介绍一下具体配置!!!

解压后的文件大致如下图:

进入mingw64下的bin文件夹,复制当前路径

Win + i  唤起系统设置,输入高级系统设置并进入

点击环境变量,选择path,编辑,新建,粘贴路径,按下三个确定

 

 

4   检查是否配置成功

  1. win+R 打开cmd

  2. 输入gcc -v 或g++ -v

 

 

C:\Users\smxsh>g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=D:/Software/c++/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/lto-wrapper.exe
Target: x86_64-w64-mingw32
Configured with: ../../../src/gcc-13.1.0/configure --host=x86_64-w64-mingw32 --build=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --prefix=/mingw64 --with-sysroot=/c/buildroot/x86_64-1310-posix-seh-ucrt-rt_v11-rev1/mingw64 --enable-host-shared --disable-multilib --enable-languages=c,c++,fortran,lto --enable-libstdcxx-time=yes --enable-threads=posix --enable-libgomp --enable-libatomic --enable-lto --enable-graphite --enable-checking=release --enable-fully-dynamic-string --enable-version-specific-runtime-libs --enable-libstdcxx-filesystem-ts=yes --disable-libssp --disable-libstdcxx-pch --disable-libstdcxx-debug --enable-bootstrap --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --with-gnu-as --with-gnu-ld --with-arch=nocona --with-tune=core2 --with-libiconv --with-system-zlib --with-gmp=/c/buildroot/prerequisites/x86_64-w64-mingw32-static --with-mpfr=/c/buildroot/prerequisites/x86_64-w64-mingw32-static --with-mpc=/c/buildroot/prerequisites/x86_64-w64-mingw32-static --with-isl=/c/buildroot/prerequisites/x86_64-w64-mingw32-static --with-pkgversion='x86_64-posix-seh-rev1, Built by MinGW-Builds project' --with-bugurl=https://github.com/niXman/mingw-builds CFLAGS='-O2 -pipe -fno-ident -I/c/buildroot/x86_64-1310-posix-seh-ucrt-rt_v11-rev1/mingw64/opt/include -I/c/buildroot/prerequisites/x86_64-zlib-static/include -I/c/buildroot/prerequisites/x86_64-w64-mingw32-static/include' CXXFLAGS='-O2 -pipe -fno-ident -I/c/buildroot/x86_64-1310-posix-seh-ucrt-rt_v11-rev1/mingw64/opt/include -I/c/buildroot/prerequisites/x86_64-zlib-static/include -I/c/buildroot/prerequisites/x86_64-w64-mingw32-static/include' CPPFLAGS=' -I/c/buildroot/x86_64-1310-posix-seh-ucrt-rt_v11-rev1/mingw64/opt/include -I/c/buildroot/prerequisites/x86_64-zlib-static/include -I/c/buildroot/prerequisites/x86_64-w64-mingw32-static/include' LDFLAGS='-pipe -fno-ident -L/c/buildroot/x86_64-1310-posix-seh-ucrt-rt_v11-rev1/mingw64/opt/lib -L/c/buildroot/prerequisites/x86_64-zlib-static/lib -L/c/buildroot/prerequisites/x86_64-w64-mingw32-static/lib ' LD_FOR_TARGET=/c/buildroot/x86_64-1310-posix-seh-ucrt-rt_v11-rev1/mingw64/bin/ld.exe --with-boot-ldflags=' -Wl,--disable-dynamicbase -static-libstdc++ -static-libgcc'
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 13.1.0 (x86_64-posix-seh-rev1, Built by MinGW-Builds project)

C:\Users\smxsh>

此时配置成功! 

where gcc # 查看gcc位置

gcc --version # 查看gcc版本

C:\Users\smxsh>where gcc
D:\Software\c++\mingw64\bin\gcc.exe
C:\Users\smxsh>gcc --version
gcc (x86_64-posix-seh-rev1, Built by MinGW-Builds project) 13.1.0
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


四、VsCode配置c语言

1. 下载c/c++插件

 打开VScode安装插件  C/C++ ,等待安装完毕后重启VScode

 

2. 运行代码 

 1.在code下新建文件夹C_C++(用来放c/c++的项目)

 2.使用vscode编辑器打开此文件夹

  

   

3.在C_C++文件夹下创建test_helloC文件夹——创建test.c文件

  

复制helloWorld代码进去:

#include <stdio.h>
#include <stdlib.h>
int main()
{
    printf("Hello World!\n");
    printf("你好世界!\n");
    system("pause");    // 防止运行后自动退出,需头文件stdlib.h
    return 0;
}

  4.VScode菜单栏,点击运行,启动调试,稍等程序运行,输出结果在下方终端,上方调试面板,点击最右边的 橙色方框 停止程序运行

       

   此时发现左侧会自动生成.vscode文件夹和test.exe。终端输出我们想要的结果。接下来进行优化配置~~~

3. 调整和优化

请根据自己的需要进行优化

代码运行后 .vscode 文件夹会自动生成在你的源文件目录下.vscode 文件夹下的 task.json 

  • task.json文件

将生成的task.json文件修改如下:

// "${file}",

"*.c",//当前文件夹所有的.c文件都编译

此时整个task.json文件为:

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: gcc.exe 生成活动文件",
            "command": "D:\\Software\\c++\\mingw64\\bin\\gcc.exe",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                // "${file}",
                "*.c",//当前文件夹所有的.c文件都编译
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"//生成的可执行程序名称
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "调试器生成的任务。"
        }
    ],
    "version": "2.0.0"
}

 【断点调试】:

  

当前调试只是单个文件,为了实现多个文件断点调试则配置launch.json文件。

  • 生成launch.json文件

  

   此时,在.vscode 文件夹下自动生成 launch.json 文件,选择【添加配置】

    

 添加gdb启动配置  

此时更改两个配置,首先找到gdb.exe的路径复制出来

   然后将launch.json文件中的

"miDebuggerPath": "/path/to/gdb",  更改为复制的路径

 "program" 更改为  task.json 文件中的    "${fileDirname}\\${fileBasenameNoExtension}.exe"

 重要的是修改:"program""miDebuggerPath"

具体如下:

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 启动",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",//需要调试的可执行程序
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "D:\\Software\\c++\\mingw64\\bin\\gdb.exe",//gdb的位置
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "将反汇编风格设置为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ]
        }



    ]
}
  • 多文件的运行和调试

test_helloC 文件夹下新建max.h文件放一个函数声明,新建max.c文件放一个函数做实现,在test.c使用函数

max.h 

  

int Max(int a, int b);

max.c 

  

int Max(int a, int b)
{
    return a > b ? a : b;
}

 test.c

  

#include <stdio.h>
#include <stdlib.h>
#include "max.h" // 引用自己的头文件

int main()
{
    int a = 10;
    int b = 20;
    int c = Max(a, b);
    printf("%d\n", c);

    printf("Hello World!\n");
    printf("你好世界!\n");
    system("pause"); // 防止运行后自动退出,需头文件stdlib.h
    return 0;
}

   断点调试:
  

  • 多项目管理和scanf输入

C_C++文件夹——新建test_scanf文件——新建test2.c文件

#include <stdio.h>

int main()
{
    int a;
    int b;
    scanf("%d%d", &a, &b);
    printf("%d*%d=%d\n", a, b, a * b);

    return 0;
}

  

 点击运行c/c++文件,在终端手动输入a,b的值  

  

五、配置C++

1、新建文件夹C++

  •    打开vscode——文件——将文件夹添加到工作区

  

  • 新建C++文件夹

  

  

  • 新建test.cpp文件 

  

#include <iostream>
using namespace std;
int main()
{
    cout << "hello C++!" << endl;
    return 0;
}

注意:此时生成为g++.exe

  

 运行结果:  

当前同样只针对单个文件,若需要调试运行多个c++文件同样需要配置.vscode下的json文件~~~

后续再补充更新!

最后说明一下卸载vscode的方法:

卸载VSCode

1.直接控制面板卸载

2.删除安装插件(位置为:C:\Users\smxsh\.vscode)

  

3.删除配置信息 

 位置为:C:\Users\smxsh\AppData\Roaming\Code文件夹

直接将该文件夹删除,才可彻底删干净!!!

注意appdata文件夹为隐藏文件夹,显示方式如下

  

  

 参考json文件配置:

在 Visual Studio Code 中开始在 Linux 上C++

使用VScode编写C语言程序 环境安装配置 保姆级教程_vscode安装编译器_Siobhan. 明鑫的博客-CSDN博客

VSCode 配置 C++ 环境_vscode如何只运行不调试_冰光之梦的博客-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1010853.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Qt4开发曲线绘制交互软件Plotter

目前市面上有很多曲线绘制软件,但其交互功能较差。比如,想要实现数据的交互,同步联动等,都需要大量繁琐的人工操作。所以讲想开发一款轻量级的曲线绘制交互软件。下面就以此为案例,记录一下基于Qt4的开发过程。 目录 1 需求 2 技术路线 3 开发流程 1 框架搭建 2 菜单…

酷开系统——酷开科技挖掘下沉市场的重要利器

纵观整个互联网的发展历程&#xff0c;我们经历从搜索时代到电子商务时代&#xff0c;再从社交网络时代到近几年兴起的兴趣网络时代。而在当下的兴趣网络时代&#xff0c;面对多元化、同质化的产品&#xff0c;价值文化成为品牌和消费者建立连接的关键。目前&#xff0c;互联网…

15W SIP网络有源吸顶喇叭

SV-7042VP 15W SIP网络有源吸顶喇叭 一、描述 SV-7042VP是我司的一款SIP网络有源吸顶喇叭&#xff0c;具有10/100M以太网接口&#xff0c;内置有一个高品质扬声器&#xff0c;将网络音源通过自带的功放和喇叭输出播放&#xff0c;可达到功率15W。SV-7042VP作为SIP系统的播放终…

【CSS3】

文章目录 1.简介2.边框3.圆角4.背景5.渐变CSS3 径向渐变6.文本效果7.字体8.2D转换9.3D转换10.过渡11.动画12.多列13.用户界面14.按钮 ​ 1.简介 模块 CSS3 被拆分为"模块"。旧规范已拆分成小块&#xff0c;还增加了新的。 一些最重要 CSS3 模块如下&#xff1a; 选…

Qt 围炉札记

文章目录 一、Qt 调试 一、Qt 调试 【Qt调试技巧】Profile配置使用及一些坑 QT运行时的Debug、Release、Profile选项区别 Qt Creator release版本进行调试 【Qt调试技巧】如何在Release下调试Qt程序&#xff1f; Qt如何在Release编译下怎么调试&#xff1f;怎么生成pdb文件…

SwiftUI 中的几种毛玻璃效果

Preview Code // // testtt.swift // bill2 // // Created by 朱洪苇 on 2023/8/9. //import SwiftUIstruct testtt: View {var body: some View {ZStack {Image("bg1").blur(radius: 5) // 给背景图加模糊VStack {Text("ultraThinMaterial").padding()…

Mysql InnoDB引擎 的hash索引

Mysql InnoDB引擎不支持hash索引&#xff0c;但是在内存结构中有一个自适应hash索引&#xff0c;来提高查询性能 当设置hash索引时会自动转换成btree索引 查一下mysql官方文档&#xff1a;https://dev.mysql.com/doc/refman/5.7/en/create-index.html innodb_adaptive_hash_i…

ubuntu18、20 cv_bridge 与自带opencv版本冲突问题

背景&#xff1a; nvidia tx2、xvaier 装机自带 ubuntu18 opencv4 后来我们会安装melodic的ros&#xff0c;ros中的cv_bridge 默认cv版本是3.2.0 编译带cv_bridge的代码时&#xff0c;会报错会崩溃&#xff0c;因为版本冲突了 为了解决该问题&#xff0c; 行之有效的一种…

uniapp-提现功能(demo)

页面布局 提现页面 有一个输入框 一个提现按钮 一段提现全部的文字 首先用v-model 和data内的数据双向绑定 输入框逻辑分析 输入框的逻辑 为了符合日常输出 所以要对输入框加一些条件限制 因为是提现 所以对输入的字符做筛选,只允许出现小数点和数字 这里用正则实现的小数点…

Boostrap对HTML的表格的设计和优化

目录 01-Bootstrap的默认表格风格02-没有边线-边界的表格03-行与行的背景颜色交替变换(条纹样式)04-给表格加上边框效果05-鼠标移到行上时该行的颜色加深06-把表格的padding值缩减一半,使表格看起来更紧凑07-为表格的行或单元格设置颜色 01-Bootstrap的默认表格风格 Bootstrap…

手机上的动态ip流量是算自己的流量吗?

正抓着手机的小伙伴们&#xff0c;大家好呀&#xff01;我们都知道&#xff0c;在手机上设置动态ip可以帮助我们访问被限制的网站和保护我们的隐私。但是&#xff0c;有一个让人困惑的问题一直困扰着大家&#xff1a;手机上使用动态ip时&#xff0c;这个流量算不算我们自己的流…

【css案例】

三&#xff0c;案例 1.小米侧边栏 编辑 编辑 2.五彩导航 编辑 编辑 3. 编辑 编辑 4.小米布局编辑 编辑 编辑 5.淘宝焦点图 编辑 ![img](https://img-blog.csdnimg.cn/d067c55c445e4cccb13f23076d6331f8.png编辑 编辑 6.土豆网遮罩 编辑 编辑 7.旋转案例 编辑…

css自学框架之图片懒加载

首先解释一下什么叫图片懒加载。图片懒加载是一种在页面加载时&#xff0c;延迟加载图片资源的技术&#xff0c;也就是说图片资源在需要的时候才会加载&#xff0c;就是在屏幕显示范围内加载图片&#xff0c;屏幕显示范围外图片不加载。 一、关键函数 用到的关键函数&#xf…

Pinctrl子系统_02_使用Pinctrl要掌握的重要概念

本节说明使用Pinctrl子系统时&#xff0c;要掌握的重要概念。 上节我们说到&#xff0c;我们通过Pinctrl子系统来控制设备的引脚&#xff0c;但实际上&#xff0c;大多数芯片都没有一个单独的Pinctrl。引脚的复用、配置等操作&#xff0c;实际上是在GPIO子系统内部实现的。 但…

Centos nginx配置文档

1、安装nginx: yum install nginx 2、Nginx常用命令 查看版本:nginx -v 启动:nginx -c /etc/nginx/nginx.conf 重新加载配置:nginx -s reload 停止:nginx -s stop 3、Nginx反向代理配置 nginx配置详解 1、Nginx配置图 详情可以查看:http://nginx.org/ru/docs/example…

ES6 什么是模板字符串?

模板字符串是一种在编程中用于创建字符串的特殊语法形式&#xff0c;通常用于动态生成包含变量或表达式的文本。它们在许多编程语言中都有类似的实现&#xff0c;但语法可能会有所不同。 在JavaScript中&#xff0c;模板字符串是由反引号 (backtick) 包围的字符串&#xff0c…

Python 环境搭建,集成开发环境IDE: PyCharm

Python 环境搭建,集成开发环境IDE: PyCharm 一、Python 环境搭建二、Python下载三、Python安装四、环境变量配置五、Python 环境变量六、运行Python1、交互式解释器&#xff1a;2、命令行脚本3、集成开发环境&#xff08;IDE&#xff1a;Integrated Development Environment&am…

day13面向对象进阶

面向对象进阶部分学习方法&#xff1a; 特点&#xff1a; ​ 逻辑性没有那么强&#xff0c;但是概念会比较多。 ​ 记忆部分重要的概念&#xff0c;理解课堂上讲解的需要大家掌握的概念&#xff0c;多多练习代码。 day13 今日内容 复习回顾static关键字继承 教学目标 能…

《中国数字经济发展指数报告(2023年)》发布

导读 国家统计局《数字经济及其核心产业统计分类(2021)》首次对数字经济及其核心产业统计分类做出详细说明。然而&#xff0c;由于数字经济内涵外延的不断丰富&#xff0c;区域数字经济发展的量化评估仍在持续发展的过程中&#xff0c;以量化模型方式能够更加客观全面反映新时…

9.14 C++作业

仿照vector手动实现自己的myVector&#xff0c;最主要实现二倍扩容功能 #include <iostream>using namespace std;template <typename T> class Myvector {T *data; //存储数据的数组int len; //当前数组的长度int mycapa; //容纳数据的总容量public://…