내 연락처 정보
우편메소피아@프로톤메일.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
먼저 C++ 환경을 준비해야 합니다. 물론 현재 C++ 환경이 구성되어 있고 C++ 버전이 일상적인 요구 사항을 충족할 수 있다고 생각되면 다음 두 명령을 사용하여 C++ 버전을 쿼리할 수 있습니다.
g++ -v
g++ --version
반환된 버전으로 귀하의 요구사항이 해결될 수 있는지 간단히 판단하십시오. 현재 버전이 향후 사용을 지원할 수 있다고 생각되면 JSON 파일 구성의 두 번째 단계로 바로 이동하십시오.
C++를 구성하지 않았거나 현재 버전이 일상 학습을 지원할 수 없다고 생각되면 다음을 다운로드해야 합니다.Mingw는 C++ 환경을 구성합니다.
현재 저는 현재 최신 Mingw를 데모로 사용하고 있습니다.
다운로드 후, 자신이 알고 있는 폴더에 압축을 풀고, 압축이 풀린 파일 경로를 열어서 bin 파일을 찾으세요.
압축을 푼 후 위의 파일 경로를 복사해 압축을 풀면 전체 영문 경로를 사용하는 것이 가장 좋습니다.
e.g. : D:ProgramFilesmingw64bin
환경 변수…
아래 경로에서 내용을 편집하고 편집->새로 만들기, 경로를 올려 놓고 이 경로를 선택하여 맨 위로 이동합니다.
계속 확인을 클릭하면 완료됩니다.
g++ 버전을 테스트 중입니다.
도구 -> 컴파일 시스템----> 새 컴파일 시스템...은 C++ JSON 파일이 구성된 *.sublime-build 파일을 생성합니다. 물론 기존 컴파일 파일을 수정할 수도 있습니다.
위에서 언급한 파일에 다음 코드를 복사하여 저장한 후 다시 방금 편집한 JSON 파일을 선택하여 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",
}
기본적으로,g++
컴파일러는 일반적으로 최신 C++ 표준을 사용하지 않지만 대신 안정적인 기본 표준(일반적으로 C++14 또는 C++17과 같은 이전 표준)을 사용하여 이전 코드와의 호환성을 보장합니다.따라서 명시적으로 지정하지 않으면-std=c++20
또는-std=c++23
, 컴파일러는 이전 표준을 사용하여 컴파일할 수 있으며, 이로 인해 새 표준의 기능을 사용할 때 오류가 발생할 수 있습니다.
따라서 최신 컴파일 방법을 사용하려면 위의 컴파일러에서 지원하는 최대 C++ 버전을 참조하여 JSON 파일을 최신 버전의 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",
}
구체적인 변경 사항은 단 한 줄의 코드입니다.
{
"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""
}
]
}