私の連絡先情報
郵便メール:
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
まず、C++ 環境を準備する必要があります。現在の C++ 環境が構成されていて、C++ バージョンが日常のニーズを満たすことができると思われる場合は、次の 2 つのコマンドを使用して C++ バージョンをクエリできます。
g++ -v
g++ --version
返されたバージョンでニーズが解決できるかどうかを判断してください。現在のバージョンで今後の使用がサポートされると思われる場合は、JSON ファイルの構成の第 2 段階に直接進んでください。
C++ が設定されていないことが判明した場合、または現在のバージョンでは日々の学習をサポートできないと思われる場合は、C++ をダウンロードする必要があります。Minw で C++ 環境を設定する
現在、最新の Minw をデモンストレーションとして使用しています。
ダウンロード後、既知のフォルダーに解凍し、解凍されたファイル パスを開いて bin ファイルを見つけます。
開いたら、上記のファイル パスをコピーします。解凍するときは、英語の完全なパスを使用することをお勧めします。
e.g. : D:ProgramFilesmingw64bin
環境変数…
下のパスのコンテンツを編集し、[編集]->[新規] をクリックしてパスを上に配置し、このパスを選択して一番上に移動します。
[OK] をクリックし続けて完了します。
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++ バージョンを参照して、最新バージョンの C++ でコンパイルできるように JSON ファイルを更新する必要があります。
{
"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",
}
具体的な変更はたった 1 行のコードです
{
"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""
}
]
}