τα στοιχεία επικοινωνίας μου
Ταχυδρομείο[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Πρώτα πρέπει να προετοιμάσουμε το περιβάλλον C++ Φυσικά, εάν πιστεύετε ότι το τρέχον περιβάλλον C++ σας έχει ρυθμιστεί και η έκδοση C++ μπορεί να καλύψει τις καθημερινές σας ανάγκες, μπορείτε να χρησιμοποιήσετε τις ακόλουθες δύο εντολές για να κάνετε ερώτημα στην έκδοση C++.
g++ -v
g++ --version
Απλώς κρίνετε εάν οι ανάγκες σας μπορούν να λυθούν από την έκδοση που επιστράφηκε.
Εάν διαπιστώσετε ότι δεν έχετε διαμορφώσει τις παραμέτρους της C++ ή πιστεύετε ότι η τρέχουσα έκδοση δεν μπορεί να υποστηρίξει την καθημερινή εκμάθηση, τότε πρέπει να κάνετε λήψη ενόςMingw configure περιβάλλον C++
Επί του παρόντος χρησιμοποιώ το τρέχον τελευταίο μου Mingw ως επίδειξη
Μετά τη λήψη, αποσυμπιέστε το σε έναν φάκελο που γνωρίζετε, ανοίξτε τη διαδρομή του αποσυμπιεσμένου αρχείου και βρείτε ένα αρχείο bin
Αφού το ανοίξετε, αντιγράψτε την παραπάνω διαδρομή αρχείου Είναι καλύτερο να χρησιμοποιήσετε την πλήρη αγγλική διαδρομή κατά την αποσυμπίεση.
e.g. : D:ProgramFilesmingw64bin
Μεταβλητές περιβάλλοντος…
Επεξεργαστείτε το περιεχόμενο στη διαδρομή παρακάτω, Επεξεργασία->Νέο, βάλτε τη διαδρομή επάνω, επιλέξτε αυτήν τη διαδρομή και μετακινήστε την στην κορυφή.
Συνεχίστε να κάνετε κλικ στο OK για να ολοκληρώσετε.
Δοκιμάζω την έκδοση g++.
Εργαλεία -> Σύστημα μεταγλώττισης-----> Νέο Σύστημα Μεταγλώττισης... θα δημιουργήσει ένα αρχείο *.sublime-build στο οποίο είναι διαμορφωμένο το αρχείο C++ JSON Φυσικά, μπορείτε επίσης να τροποποιήσετε το υπάρχον αρχείο μεταγλώττισης.
Αντιγράψτε τον παρακάτω κώδικα στο αρχείο που αναφέρεται παραπάνω, αποθηκεύστε το και επιλέξτε ξανά το αρχείο 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""
}
]
}