Mi informacion de contacto
Correo[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Primero debemos preparar el entorno C++. Por supuesto, si cree que su entorno C++ actual está configurado y la versión C++ puede satisfacer sus necesidades diarias, puede utilizar los dos comandos siguientes para consultar la versión C++.
g++ -v
g++ --version
Simplemente juzgue si sus necesidades pueden resolverse con la versión devuelta. Si cree que la versión actual puede admitir su uso posterior, salte directamente a la segunda etapa de configuración del archivo JSON.
Si descubre que no ha configurado su C++, o cree que la versión actual no puede soportar el aprendizaje diario, entonces necesita descargar unMingw configura el entorno C++
Actualmente estoy usando mi último Mingw actual como demostración.
Después de la descarga, descomprímalo en una carpeta que conozca, abra la ruta del archivo descomprimido y busque un archivo bin.
Después de abrirlo, copie la ruta del archivo anterior. Es mejor utilizar la ruta completa en inglés al descomprimir.
e.g. : D:ProgramFilesmingw64bin
Variables de entorno…
Edite el contenido en Ruta a continuación, Editar->Nuevo, coloque la ruta, seleccione esta ruta y muévala a la parte superior.
Continúe haciendo clic en Aceptar para completar.
Estoy probando la versión g++.
Herramientas -> Sistema de compilación-----> Nuevo sistema de compilación... generará un archivo *.sublime-build en el que se configura el archivo C++ JSON. Por supuesto, también puede modificar el archivo de compilación existente.
Copie el siguiente código en el archivo mencionado anteriormente, guárdelo y seleccione nuevamente el archivo JSON que acaba de editar para compilar C++.
{
"shell_cmd": "g++ -finput-charset=UTF-8 -fexec-charset=GBK -Wall "${file_name}" -o "${file_base_name}" && start cmd /c ""${file_base_name}" & pause"",
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c++",
"encoding": "gbk",
}
por defecto,g++
Los compiladores normalmente no utilizan el último estándar de C++, sino que utilizan un estándar predeterminado estable (normalmente un estándar más antiguo como C++14 o C++17) para garantizar la compatibilidad con el código anterior.Entonces, si no especifica explícitamente-std=c++20
o-std=c++23
, el compilador puede compilar utilizando un estándar anterior, lo que puede provocar errores al utilizar funciones del nuevo estándar.
Por lo tanto, si queremos utilizar el último método de compilación, debemos consultar lo anterior, la versión máxima de C++ admitida por nuestro compilador, para actualizar nuestro archivo JSON para compilar con la última versión de C++.
{
"shell_cmd": "g++ -std=c++23 -finput-charset=UTF-8 -fexec-charset=GBK -Wall "${file_name}" -o "${file_base_name}" && start cmd /c ""${file_base_name}" & pause"",
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c++",
"encoding": "gbk",
}
El cambio específico es solo una línea de código.
{
"shell_cmd": "g++ -std=c++23 -finput-charset=UTF-8 -fexec-charset=GBK -Wall "${file_name}" -o "${file_base_name}" && start cmd /c ""${file_base_name}" & pause"",
//编译命令,使用C++20标准,指定输入和输出编码为UTF-8和GBK,并启用所有警告。如果编译成功,则启动一个新的命令行窗口运行生成的可执行文件,并在运行结束后暂停窗口。
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", // wrong answer 正则表达式匹配文件名等信息。
"working_dir": "${file_path}", // working_dir 编译的工作区
"selector": "source.c++", // 对象
"encoding": "gbk", // encoding 编码 : 选择 gbk(国标:包含所有的汉字)
}
{
[
{
"name": "Single File Build", // 只编译
"shell_cmd": "g++ -std=c++20 -finput-charset=UTF-8 -fexec-charset=GBK -Wall "${file_name}" -o "${file_base_name}""
},
{
"name": "Single File Run", //只运行
"shell_cmd": "start cmd /c ""${file_base_name}" & pause""
},
{
"name": "Single File Build & Run", // 编译加运行
"shell_cmd": "g++ -std=c++20 -finput-charset=UTF-8 -fexec-charset=GBK -Wall "${file_name}" -o "${file_base_name}" && start cmd /c ""${file_base_name}" & pause""
},
// 下面为多文件编译 , 请勿使用 。
{
"name": "Multiple Files Build",
"shell_cmd": "g++ -std=c++20 -finput-charset=UTF-8 -fexec-charset=GBK -Wall *.cpp -o "${file_base_name}""
},
{
"name": "Multiple Files Run",
"shell_cmd": "start cmd /c ""${file_base_name}" & pause""
},
{
"name": "Multiple Files Build & Run",
"shell_cmd": "g++ -std=c++20 -finput-charset=UTF-8 -fexec-charset=GBK -Wall *.cpp -o "${file_base_name}" && start cmd /c ""${file_base_name}" & pause""
}
]
}
{
"shell_cmd": "g++ -std=c++20 -finput-charset=UTF-8 -fexec-charset=GBK -Wall "${file_name}" -o "${file_base_name}" && start cmd /c ""${file_base_name}" & pause"",
//编译命令,使用C++20标准,指定输入和输出编码为UTF-8和GBK,并启用所有警告。如果编译成功,则启动一个新的命令行窗口运行生成的可执行文件,并在运行结束后暂停窗口。
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", // wrong answer 正则表达式匹配文件名等信息。
"working_dir": "${file_path}", // working_dir 编译的工作区
"selector": "source.c++", // 对象
"encoding": "gbk", // encoding 编码 : 选择 gbk(国标:包含所有的汉字)
"variants":
[
{
"name": "Single File Build", // 只编译
"shell_cmd": "g++ -std=c++20 -finput-charset=UTF-8 -fexec-charset=GBK -Wall "${file_name}" -o "${file_base_name}""
},
{
"name": "Single File Run", //只运行
"shell_cmd": "start cmd /c ""${file_base_name}" & pause""
},
{
"name": "Single File Build & Run", // 编译加运行
"shell_cmd": "g++ -std=c++20 -finput-charset=UTF-8 -fexec-charset=GBK -Wall "${file_name}" -o "${file_base_name}" && start cmd /c ""${file_base_name}" & pause""
},
// 下面为多文件编译 , 请勿使用 。
{
"name": "Multiple Files Build",
"shell_cmd": "g++ -std=c++20 -finput-charset=UTF-8 -fexec-charset=GBK -Wall *.cpp -o "${file_base_name}""
},
{
"name": "Multiple Files Run",
"shell_cmd": "start cmd /c ""${file_base_name}" & pause""
},
{
"name": "Multiple Files Build & Run",
"shell_cmd": "g++ -std=c++20 -finput-charset=UTF-8 -fexec-charset=GBK -Wall *.cpp -o "${file_base_name}" && start cmd /c ""${file_base_name}" & pause""
}
]
}