Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 2340|Vastaus: 1

Johdanto GCC:hen, CMakeen, CMakelistiin, Makeen, Makefileen ja Ninjaan

[Kopioi linkki]
Julkaistu 9.7.2024 20.44.28 | | |
1. GCC:n synty!

Vuonna 1985, pimeänä yönä, kun hänen sormensa olivat näkymättömissä, outo mies, jolla oli parta, lyhyt vartalo ja sotkuiset hiukset, alkoi kirjoittaa C-kielen kääntäjiä. Tämä elektroniikka, joka myöhemmin tunnettiin "suurimpana ohjelmoijana" ja "vapaan ohjelmiston isänä", oli Richard Stallman. Kahden vuoden kovan työn jälkeen Richard Stallman, jolla on pidempi parta ja sotkuiset hiukset, on saanut valmiiksi ensimmäisen version C-kääntäjästä, jonka hän nimeää GNU C Complieriksi, ja joka on nyt kuuluisan GCC:n lähde. Myöhemmin GCC kehittyi nopeasti, ja nyt GCC pystyy kääntämään paitsi C-kieltä myös C++:a, Fortrania, Pascalia, Objective-C:tä, Javaa, Adaa ja muita kieliä. Viime vuosisadan 80- ja 90-luvuilla henkilökohtaisten tietokoneiden suorittimen taajuus, kiintolevyn koko ja muistikoko mitattiin kaikki MB:ssä tai jopa KB:ssä, ja käännettävien ohjelmatiedostojen määrä oli pieni, ja GCC-komennot riittivät hoitamaan tämän.

Toiseksi, uusia ongelmia on ilmennyt! (tee & makefile)

Tietokoneen suorituskyvyn parantuessa ja yleistyessä ohjelmistoprojektissa on yhä enemmän lähdetiedostoja, kuten Linux, joka on helposti hämmentävää ja kuormittavaa, helposti sekoitettavaa ja kuormittavaa, mikä saa ihmiset hulluksi.

Richard Stallman ja Roland McGrath kehittivät yhdessä make and makefile -järjestelmän tämän ongelman ratkaisemiseksi. Make-työkalua voidaan pitää älykkäänä eräajotyökaluna, jolla ei ole kääntämisen ja linkittämisen toimintoa, vaan se käyttää eräajojen kaltaista menetelmää kutsumalla käyttäjän makefile-tiedostossa määrittämiä komentoja. Mikä on makefile? Makefile on skriptitiedosto, aivan kuten kappaleen nuotti, make-työkalu on kuin kapellimestari, kapellimestari ohjaa koko orkesterin soittamaan nuotin mukaan, ja make-työkalu koottuu ja linkitetään makefilen komentojen mukaan. Makefile-komento sisältää komentoja, joilla kutsutaan gcc:tä (tai toista kääntäjää) lähdetiedoston kääntämiseksi.

3. Uusia ongelmia on taas noussut! (Cmake & CMakelist)

Makefile-tiedoston voi kirjoittaa käsin joidenkin yksinkertaisten projektien alla, mutta kun projekti on hyvin suuri, makefile-tiedoston kirjoittaminen käsin on myös hankalaa. Ja eri alustojen make-tiedostot ovat ilmestyneet yksi toisensa jälkeen, mukaan lukien GNU make, QT:n qmake, Microsoftin MSnmake, BSD Make(pmake), Makepp jne. Nämä Make-työkalut noudattavat erilaisia vaatimuksia ja standardeja, ja niiden Makefile-muoto vaihtelee suuresti. Tämä aiheuttaa vakavan ongelman: jos ohjelmisto haluaa olla monialustainen, sen täytyy pystyä kääntämään eri alustoilla. Jos käytät yllä olevaa Make-työkalua, sinun täytyy kirjoittaa makefile jokaiselle standardille, mikä on hullua työtä, ja jos vaihdat alustan makefilea, joudut muokkaamaan sitä uudelleen.

Tuolloin Cmake-työkalu ilmestyi, ja Cmake pystyi helpommin luomaan makefile-tiedoston yllä olevalle tiedostolle. Tietenkin cmakella on myös muita toimintoja, eli se voi luoda make-tiedostoja, joita voi käyttää vastaavalla alustalla eri alustoilla, eikä sinun tarvitse muokata sitä itse. cmake on Makefilen ylin taso, ja niiden tarkoitus on tuottaa kannettavia makefileja ja yksinkertaistaa valtavaa työtaakkaa, joka liittyy makefileiden kirjoittamiseen itse. Mutta mitä cmake käyttää makefile-tiedoston luomiseen? Sen täytyy myös luoda makefile, joka perustuu tiedostoon nimeltä CMakeLists.txt file (tieteellinen nimi: konfiguraatiotiedosto). Lopulta CMakeLists.txt kuka kirjoittaa dokumentin? Tietenkin kirjoitit sen itse.

Neljänneksi, uusia ongelmia on taas ilmestynyt! (Ninja)

Kun ohjelmistokehityksestä tulee suurempaa ja monimutkaisempaa, valmistajan hitaan suoritusnopeuden ongelma muuttuu yhä vakavammaksi.

Tämän seurauksena Google-ohjelmoija lanseerasi Ninjan, nopeuteen keskittyvän rakennustyökalun. Ninjassa ei ole kaikkia kehittyneitä ominaisuuksia, syntaksi ja käyttö ovat hyvin yksinkertaisia, ja se määrittelee tarkasti, mitä tehdä, joten se alkaa kääntää nopeasti. Todellisten testien mukaan: yli 30 000 lähdetiedoston avulla on myös mahdollista aloittaa oikea rakennus sekunnissa. Sen sijaan vanhempien insinöörien kirjoittamat Makefiles-tiedostot alkavat rakentaa 10–20 sekuntia.

5. Täydellinen loppu tähän asti!

Cmake voi luoda .ninja- ja .makefile-työkaluja. Koska monet eivät tunne makefile- ja ninja-tiedostojen kirjoittamista, cmake tarvitsee vain yksinkertaisen kuvauksen lähdekooditiedostosta (eli CMakeLists.txt tiedostosta) luodakseen automaattisesti projektin makefile- tai ninja-tiedoston ja aloittaakseen kääntämisen ninjan tai make-tiedoston kautta.


5 minuuttia ymmärtää make/makefile/cmake/nmake

Viime aikoina, oletko tehnyt make, cmake, makefile... ... Nämä asiat ovat huimaavia, katso seuraavaa artikkelia, ehkä ymmärrät selvästi.

1. GCC
Se on GNU Compiler Collection, tai yksinkertaisesti kääntäjä, joka voi kääntää monia ohjelmointikieliä (mukaan lukien C, C++, Objective-C, Fortran, Java jne.).

Kun ohjelmallamme on vain yksi lähdetiedosto, voimme kääntää sen suoraan gcc-komennolla.

Mutta entä jos ohjelmassamme on paljon lähdetiedostoja? Kun käännät gcc-komentoja yksitellen, on helppo mennä sekaisin ja vaatia työlästä, joten seuraava make -työkalu ilmestyy.

2. tee
Make-työkalua voidaan pitää älykkäänä eräajotyökaluna, jolla ei ole kääntämisen ja linkittämisen toimintoa, vaan se käyttää eräajojen kaltaista menetelmää kutsumalla käyttäjän makefile-tiedostossa määrittämiä komentoja.

3. Makefile
Mikä tämä on?

Yksinkertaisesti sanottuna, aivan kuten kappaleen nuotin, make tool on kuin kapellimestari, kapellimestari ohjaa koko orkesterin soittamaan nuotin mukaan, ja make tool kokoaa ja linkittää makefile-käskyjen mukaan. Makefile-komento sisältää komentoja, joilla kutsutaan gcc:tä (tai toista kääntäjää) lähdetiedoston kääntämiseksi.

Makefile-tiedoston voi ottaa manuaalisesti joissakin yksinkertaisissa projekteissa, mutta kun projekti on hyvin suuri, käsinkirjoitettu makefile on myös hyvin hankalaa.

4. CMAKE
cMake voi helposti luoda makefile-tiedoston yllä olevalle make-tiedostolle. Tietenkin cmakella on muita parempia toimintoja, nimittäin se voi tuottaa make-tiedostoja, joita voidaan käyttää vastaavalla alustalla eri alustoilla, joten meidän ei tarvitse muokata sitä itse.

Mutta mitä cmake käyttää makefile-tiedoston luomiseen? Sen täytyy myös luoda makefile, joka perustuu tiedostoon nimeltä CMakeLists.txt file (tieteellinen nimi: konfiguraatiotiedosto).

5. CMakeList.txt
Lopulta CMakeLists.txt kuka kirjoittaa dokumentin? Rakas, se on kirjoitettu omalla kädelläsi.

6. nmake
Mikä on nmake?

nmake on sivukomento Microsoft Visual Studiossa, joka tarvitsee VS:n asentamisen, ja sitä voidaan itse asiassa sanoa vastaavan kuin Linuxin make, ymmärrätkö?

Siirretty:

Hyperlinkin kirjautuminen on näkyvissä.
Hyperlinkin kirjautuminen on näkyvissä.
Hyperlinkin kirjautuminen on näkyvissä.





Edellinen:ERP Kingdee Cloud Starry Sky (1) Yksinkertainen ymmärrys
Seuraava:Rocky Linux 9 -paketti ei löytynyt: Ei vastaavuutta argumentille: xxx
 Vuokraisäntä| Julkaistu 8.12.2024 8.57.06 |
MinGW tarjoaa yksinkertaisen ja kätevän GCC-pohjaisen ohjelmakehitysympäristön Windowsille. MinGW kerää kokoelman ilmaisia Windowsin käyttöotsikko- ja kirjastotiedostoja; Se integroi myös GNU:n (http://www.gnu.org/) työkalut, erityisesti GNU-kehitystyökalut kuten klassiset gcc, g++, make jne. MinGW on täysin vapaa ohjelmisto, joka simuloi GCC-kehitysympäristöä Linuxilla Windows-alustalla, tarjoten hyvän perustuen C++:n monialustaiselle kehitykselle ja tarjoten edellytykset Windowsin ohjelmoijille tutustua Linuxin C++-insinööriorganisaatioon.
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com