2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Zuerst müssen wir die C++-Umgebung vorbereiten. Wenn Sie der Meinung sind, dass Ihre aktuelle C++-Umgebung konfiguriert ist und die C++-Version Ihren täglichen Anforderungen gerecht wird, können Sie die C++-Version mit den folgenden beiden Befehlen abfragen.
g++ -v
g++ --version
Beurteilen Sie einfach, ob Ihre Anforderungen durch die zurückgegebene Version erfüllt werden können. Wenn Sie der Meinung sind, dass die aktuelle Version Ihre spätere Verwendung unterstützen kann, fahren Sie bitte direkt mit der zweiten Stufe der Konfiguration der JSON-Datei fort.
Wenn Sie feststellen, dass Sie Ihr C++ nicht konfiguriert haben oder das Gefühl haben, dass die aktuelle Version das tägliche Lernen nicht unterstützt, müssen Sie eine herunterladenMingw konfiguriert die C++-Umgebung
Derzeit verwende ich mein aktuellstes Mingw als Demonstration
Entpacken Sie es nach dem Herunterladen in einen Ihnen bekannten Ordner, öffnen Sie den entpackten Dateipfad und suchen Sie nach einer Bin-Datei
Kopieren Sie nach dem Öffnen den obigen Dateipfad. Verwenden Sie beim Dekomprimieren am besten den vollständigen englischen Pfad.
e.g. : D:ProgramFilesmingw64bin
Umgebungsvariablen…
Bearbeiten Sie den Inhalt im Pfad unten, Bearbeiten->Neu, geben Sie den Pfad ein, wählen Sie diesen Pfad aus und verschieben Sie ihn nach oben.
Klicken Sie weiterhin auf „OK“, um den Vorgang abzuschließen.
Ich teste die G++-Version.
Extras -> Kompilierungssystem -----> Neues Kompilierungssystem ... generiert eine *.sublime-build-Datei, in der die C++-JSON-Datei konfiguriert ist. Natürlich können Sie auch die vorhandene Kompilierungsdatei ändern.
Kopieren Sie den folgenden Code in die oben genannte Datei, speichern Sie ihn und wählen Sie die gerade bearbeitete JSON-Datei erneut aus, um C++ zu kompilieren.
{
"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",
}
standardmäßig,g++
Compiler verwenden normalerweise nicht den neuesten C++-Standard, sondern einen stabilen Standardstandard (normalerweise einen älteren Standard wie C++14 oder C++17), um die Kompatibilität mit älterem Code sicherzustellen.Also, wenn Sie es nicht explizit angeben-std=c++20
oder-std=c++23
, kompiliert der Compiler möglicherweise mit einem älteren Standard, was bei der Verwendung von Funktionen des neuen Standards zu Fehlern führen kann.
Wenn wir daher die neueste Kompilierungsmethode verwenden möchten, müssen wir uns auf die oben genannte maximale C++-Version beziehen, die von unserem Compiler unterstützt wird, um unsere JSON-Datei so zu aktualisieren, dass sie mit der neuesten Version von C++ kompiliert wird.
{
"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",
}
Die spezifische Änderung besteht nur aus einer Codezeile
{
"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""
}
]
}