Technology sharing

Configurare C compilator (.sublime-aedificare) in sublimi ad usum C 20 deducendi in sublimi, novitio doceo.

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Praeparatio

Primum opus est ut ambitum C++ praeparet. Scilicet, si sentis currentem C++ ambitum configurari et C++ versionem tuam cotidianis necessitatibus occurrere posse, duobus hisce praeceptis uti potes ad versionem C++ quaerendam.

g++ -v
  • 1
g++ --version
  • 1

Simpliciter iudica num necessitates tuae ex versione reddita solvi possint. Si putas versionem hodiernam posse tuum usum posteriorem sustinere, commodo salire directe ad secundum gradum figurae lima JSON.

  • GCC 4.8: Support C++11 (partial)
  • GCC 4.9: subsidia C ++ 11 et C ++ 14 (partialis)
  • GCC 5: Full support for C++14
  • GCC 6: subsidia C ++ XIV et C ++ 17 (partialis)
  • GCC 7: subsidia C ++ XVII (plerumque)
  • GCC 8: plene subsidia C++17, partim subsidia C++
  • GCC 9: Suscipe plus features C ++ XX
  • GCC 10: subsidia maxime features C ++ XX
  • GCC 11: Latioris subsidium pro C ++ 20
  • GCC 12: subsidia fere omnia features C ++ XX
  • GCC 13 et postea: Plenum subsidium C++20 addere et subsidium incipere pro C++23

Si inveneris C++ tuam non figuram habere, vel sentis emendationem hodiernam non posse cotidianam doctrinam sustinere, tum debes detrahere.Mingw configurare C ++ environment

Currently I am using my current latest Mingw as a demonstration

![[20240711232026.png]]

Post demptionem, unzip ad folder quod scis, lima viam unzipped aperi et lima bin invenias

[[Pasted image 20240711232411.png]]

Post eam aperi, tabella viam supra effinge. Optimum est uti plena via Latina cum deprimentibus.

e.g. : D:ProgramFilesmingw64bin
  • 1
  1. Edit systema variabilium

Pasted image 20240711232650

  1. Environment variabilis…
    ![[Pasted image 20240711232725.png]]

  2. Recensere contentum in Iter inferius, Edit->Novum, pone viam, elige hanc viam et ad cacumen move.
    ![[Pasted image 20240711232813.png]]

  3. Ut clicking OK ad perficiendam.

G++ versionem probamus.

2. Environment configuratione

Instrumenta -> Compilation System -----> Nova Compilatio Systema ... generabit fasciculum sublime aedificatum in quo fasciculus C++ JSON configuratur.

Configuratione modum 1. stultum

Sequentem codicem ad tabellam supradictam imitandam, eam serva, et limam JSON elige quae modo editum iterum est ad C++ componendum.

{  
   "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",  
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

2. Configurationis modum Vulgate

per defaltam,g++ Compilatores typice non utuntur vexillo recenti C++, sed pro norma defalta stabili utere (vexillum vetustius fere ut C++14 vel C++17) ut convenientiam cum codice vetustiore curent.Itaque si non expressis verbis specificare-std=c++20 or *-std=c++23compilator componi potest utens norma vetustior, quae errores causare potest cum lineamentis ex novo signo utendo.

Si igitur recentissima compilatione methodo uti velimus, ad superiorem referendum est, maximam C++ versionem a compilatore nostro fultam, ita ut limam nostram JSON renovare cum recentissima versione C++ componat.

{  
   "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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

Mutatio specifica est una tantum linea codice

![[Pasted image 20240711234819.png]]

3. In profundis analysis

Configuratione basic items

{  
   "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(国标:包含所有的汉字) 
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
Variationes textuum
{
	[  
       {  
           "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""  
       }  
   ]
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
total
{  
   "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""  
       }  
   ]  

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39