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ä.
|