minhas informações de contato
Correspondência[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Primeiro precisamos preparar o ambiente C++. Claro, se você acha que seu ambiente C++ atual está configurado e a versão C++ pode atender às suas necessidades diárias, você pode usar os dois comandos a seguir para consultar a versão C++.
g++ -v
g++ --version
Simplesmente julgue se suas necessidades podem ser resolvidas pela versão retornada. Se você acha que a versão atual pode suportar seu uso posterior, vá diretamente para o segundo estágio de configuração do arquivo JSON.
Se você achar que não configurou seu C++ ou acha que a versão atual não suporta o aprendizado diário, será necessário baixar umMingw configura ambiente C++
Atualmente eu uso meu Mingw mais recente como demonstração
Após o download, descompacte-o em uma pasta que você conhece, abra o caminho do arquivo descompactado e encontre um arquivo bin
Após abri-lo, copie o caminho do arquivo acima. É melhor usar o caminho completo em inglês ao descompactar.
e.g. : D:ProgramFilesmingw64bin
Variáveis ambientais…
Edite o conteúdo em Caminho abaixo, Editar->Novo, coloque o caminho para cima, selecione este caminho e mova-o para o topo.
Continue clicando em OK para concluir.
Estou testando a versão g++.
Ferramentas -> Sistema de Compilação-----> Novo Sistema de Compilação... irá gerar um arquivo *.sublime-build no qual o arquivo JSON C++ é configurado. Claro, você também pode modificar o arquivo de compilação existente.
Copie o código a seguir para o arquivo mencionado acima, salve-o e selecione novamente o arquivo JSON que você acabou 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 padrão,g++
Os compiladores normalmente não usam o padrão C++ mais recente, mas em vez disso usam um padrão padrão estável (geralmente um padrão mais antigo, como C++14 ou C++17) para garantir compatibilidade com código mais antigo.Então, se você não especificar explicitamente-std=c++20
ou-std=c++23
, o compilador poderá compilar usando um padrão mais antigo, o que pode causar erros ao usar recursos do novo padrão.
Portanto, se quisermos usar o método de compilação mais recente, devemos consultar o acima, a versão máxima do C++ suportada pelo nosso compilador, para atualizar nosso arquivo JSON para compilar com a versão mais recente do 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",
}
A mudança específica é apenas uma linha 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""
}
]
}