Ad argvmentvm transi
Topos Uranos

Svmmarivm

Haec lectio instrvmentarivm, qvo per totvm cvrsvm laborabitvr, institvtvm et confirmatvm relinqvit. Primvm explicat qvid institvatvr et cvr: compilatorem, qvi est programma separatvm; editorem, Visual Studio Code, qvi evm vocat; extensionem eivs officialem pro C++; et terminale, ex qvo compilator sine vllo intermedio vocatvr. Deinde pro vnoqvoqve systemate dvcem plenvm praebet: in Windows, MSYS2 cvm instrvmentario UCRT64 et GCC, vel compilatorem Microsoft pro altera via; in macOS, instrvmenta lineae mandatorvm Xcode cvm Clang, vel GCC ex Homebrew, si versio Apple non svfficit; in Linux, GCC distribvtionis in Debian et Ubuntu, Fedora et Arch. Seqvvntvr institvtio editoris et extensionis eivs, in tribvs systematibvs eadem, et configvratio consolae Windows, vt textvm in UTF-8 scribat et legat. Conclvditvr programmate tentaminis, qvod versvm cvm litteris notis diacriticis instrvctis et normam C++ qvam compilator adhibet scribit, et defectionibvs institvtionis freqventibvs, vnaqvaqve cvm cavsa et remedio svo.

Proposita discendi

  1. In systemate proprio compilatorem institvere qvi C++23 svstineat, et versionem eivs ex terminali confirmare.
  2. Visual Studio Code et extensionem eivs officialem pro C++ institvere, et eo receptacvlvm laboris aperire.
  3. Primvm programma tentaminis compilare et exseqvi, et ex terminali et ex editore.
  4. Saltem tres defectiones institvtionis freqventes diagnoscere et solvere (compilator non inventvs, versio vetvs, norma non agnita).

Qvid institvatvr et cvr

In lectione Programmata, compilatores et C++ visvm est programma lingva C++ scriptvm non exseqvi ita vt scriptvm est: compilator id in plicam exsecvtabilem convertit, plicam instrvctionvm machinae qvam systema operativvm incitare potest. Qvod si ita est, ad programmandvm saltem dvae res diversae reqvirvntvr: locvs vbi textvs programmatis scribatvr et translator qvi evm in plicam exsecvtabilem convertat. Primam praebet editor; alteram, compilator. Programmata separata svnt, qvae separatim institvvntvr et separatim deficere possvnt, nec confvndi debent: editor nihil compilat, sed a compilatore petit vt compilet et ostendit qvid ille respondeat.

Haec separatio conseqventiam practicam habet, a qva omnes dvces hvivs lectionis pendent. Cvm editor «compilat», re vera in terminali mandatvm scribit velvt g++ main.cpp -o main, eodem modo qvo discipvlvs scribere posset. Inde seqvitvr omnia qvae editor facit etiam manv fieri posse in terminali, fenestra textvs in qva mandata systemati operativo scribvntvr; et, si editor deficit, terminale efficere vt cognoscatvr vtrvm vitivm in editore an in compilatore sit. Itaqve cvrsvs a primo die cvm vtroqve laborat: cvm editore commoditatis cavsa, cvm terminali vt sciatvr qvid fiat.

Partes qvae institvvntvr qvattvor svnt.

  • Compilator, cvm bibliotheca sva normali. Cvrsvs normam C++23 adhibet, ita vt compilator eam agnoscere debeat et bibliotheca eivs capvt <print> continere, qvod std::println praebet. Adhibebitvr GCC (cvivs mandatvm pro C++ est g++) in Windows et in Linux, et Clang (clang++) in macOS. Reqviritvr GCC 15 vel posterior: capvt <print> in bibliothecam GCC cvm versione 14 pervenit, sed scriptio totivs collectionis per std::println, qva cvrsvs a lectione Programmata, compilatores et C++ et in mvltis lectionibvs posterioribvs vtitvr, demvm cvm versione 15. In macOS, instrvmenta Xcode 16 vel posteriora.
  • Editor: Visual Studio Code, gratvitvm et idem programma in tribvs systematibvs, ita vt praecepta cvrsvs omnibvs valeant.
  • Extensio officialis C/C++ a Microsoft facta pro Visual Studio Code, qvae editorem lingvam docet: codicem coloribvs distingvit, errores dvm scribitvr notat, nomina complet et compilatorem emendatoremqve vocare scit.
  • Emendator, GDB in Windows et Linux, LLDB in macOS: programma qvo exsecvtio sisti et statvs programmatis inspici potest. Nvnc vna cvm compilatore institvitvr et a parte 4 adhibebitvr.

Dvces seqventes inter se independentes svnt: qvisqve discipvlvs dvcem systematis svi seqvitvr et deinde ad partem de Visual Studio Code transit. In clavsvlis mandatorvm, signvm $ in initio versvs indicem terminalis significat nec scribitvr; versvs sine eo id svnt qvod terminale respondet. Sitvs officiales qvi citantvr soli svnt vnde convenit plicas demittere: instrvmentvm institvtionis alivnde acceptvm obsoletvm vel corrvptvm esse potest.