informasi kontak saya
Suratmesophia@protonmail.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Pertama kita perlu menyiapkan lingkungan C++. Tentu saja, jika Anda merasa lingkungan C++ Anda saat ini telah dikonfigurasi dan versi C++ dapat memenuhi kebutuhan harian Anda, Anda dapat menggunakan dua perintah berikut untuk menanyakan versi C++.
g++ -v
g++ --version
Cukup nilai apakah kebutuhan Anda dapat diselesaikan dengan versi yang dikembalikan. Jika menurut Anda versi saat ini dapat mendukung penggunaan Anda nanti, silakan langsung ke tahap kedua dalam mengonfigurasi file JSON.
Jika ternyata Anda belum mengonfigurasi C++, atau Anda merasa versi saat ini tidak dapat mendukung pembelajaran sehari-hari, maka Anda perlu mengunduhMingw mengkonfigurasi lingkungan C++
Saat ini saya menggunakan Mingw terbaru saya sebagai demonstrasi
Setelah mengunduh, unzip ke folder yang Anda tahu, buka jalur file yang belum di-zip, dan temukan file bin
Setelah membukanya, salin jalur file di atas. Yang terbaik adalah menggunakan jalur bahasa Inggris lengkap saat mendekompresi.
e.g. : D:ProgramFilesmingw64bin
Variabel lingkungan…
Edit konten di Jalur di bawah, Edit->Baru, pasang jalurnya, pilih jalur ini dan pindahkan ke atas.
Terus klik OK untuk menyelesaikan.
Saya sedang menguji versi g++.
Alat -> Sistem Kompilasi-----> Sistem Kompilasi Baru... akan menghasilkan file *.sublime-build di mana file C++ JSON dikonfigurasi.
Salin kode berikut ke file yang disebutkan di atas, simpan, dan pilih file JSON yang baru saja Anda edit lagi untuk mengkompilasi 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",
}
secara default,g++
Kompiler biasanya tidak menggunakan standar C++ terbaru, melainkan menggunakan standar default yang stabil (biasanya standar lama seperti C++14 atau C++17) untuk memastikan kompatibilitas dengan kode lama.Jadi jika Anda tidak menentukan secara eksplisit-std=c++20
atau-std=c++23
, kompiler mungkin mengkompilasi menggunakan standar lama, yang dapat menyebabkan kesalahan saat menggunakan fitur dari standar baru.
Oleh karena itu, jika kita ingin menggunakan cara kompilasi terbaru, kita harus mengacu pada versi C++ maksimal yang didukung oleh compiler kita di atas, agar file JSON kita dapat diupdate agar dapat dikompilasi dengan C++ versi terbaru.
{
"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",
}
Perubahan spesifiknya hanya satu baris kode
{
"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""
}
]
}