2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Ensin meidän on valmisteltava C++-ympäristö, jos sinusta tuntuu, että nykyinen C++-ympäristösi on konfiguroitu ja C++-versio vastaa päivittäisiä tarpeitasi, voit käyttää seuraavia kahta komentoa C++-version kyselyyn.
g++ -v
g++ --version
Arvioi vain, voidaanko tarpeitasi ratkaista palautetulla versiolla. Jos uskot, että nykyinen versio tukee myöhempää käyttöäsi, siirry suoraan JSON-tiedoston määritysten toiseen vaiheeseen.
Jos huomaat, että et ole määrittänyt C++:aa tai sinusta tuntuu, että nykyinen versio ei tue päivittäistä oppimista, sinun on ladattavaMingw määrittää C++-ympäristön
Tällä hetkellä käytän nykyistä uusinta Mingw:täni esittelynä
Lataamisen jälkeen pura se tuntemaasi kansioon, avaa puretun tiedoston polku ja etsi bin-tiedosto
Kun olet avannut sen, kopioi yllä oleva tiedostopolku. On parasta käyttää koko englanninkielistä polkua purettaessa.
e.g. : D:ProgramFilesmingw64bin
Ympäristömuuttujat…
Muokkaa sisältöä Path alla, Muokkaa-> Uusi, aseta polku ylös, valitse tämä polku ja siirrä se ylös.
Suorita loppuun napsauttamalla OK.
Testaan g++-versiota.
Työkalut -> Käännösjärjestelmä-----> Uusi käännösjärjestelmä... luo *.sublime-build-tiedoston, johon C++ JSON-tiedosto on määritetty. Voit tietysti myös muokata olemassa olevaa käännöstiedostoa.
Kopioi seuraava koodi yllä mainittuun tiedostoon, tallenna se ja valitse juuri muokkaamasi JSON-tiedosto uudelleen kääntääksesi 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",
}
oletuksena,g++
Kääntäjät eivät yleensä käytä uusinta C++-standardia, vaan käyttävät sen sijaan vakaata oletusstandardia (yleensä vanhempaa standardia, kuten C++14 tai C++17) varmistaakseen yhteensopivuuden vanhemman koodin kanssa.Joten jos et nimenomaisesti määritä-std=c++20
tai-std=c++23
, kääntäjä saattaa kääntää käyttämällä vanhempaa standardia, mikä voi aiheuttaa virheitä käytettäessä uuden standardin ominaisuuksia.
Siksi, jos haluamme käyttää viimeisintä käännösmenetelmää, meidän on viitattava yllä olevaan, kääntäjämme tukemaan enimmäisversioon C++, jotta voimme päivittää JSON-tiedostomme kääntämään C++:n uusimman version.
{
"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",
}
Tarkka muutos on vain yksi koodirivi
{
"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""
}
]
}