[Powered by Google Translate] [Make Apsukite metalinis garsas]
[Nate Hardison] [Harvardo universiteto]
[Tai CS50] [CS50.TV]
Taigi, tarkime, aš parašiau šiek tiek C programą, spausdinti žodžius "Hello, World!"
ir aš jį išgelbėjo failą pavadinimu hello.c.
Kaip realiai paleisti šią programą?
Jei aš tiesiog pabandykite paleisti failą. C, kad nesiruošia dirbti.
>> Kompiuteris nesiruošia laikyti jį kaip C programą, kaip aš ketina.
It turns out, kad nors C kodas, iš pradžių atrodo gana paslaptingas,
ji vis dar nėra žemo lygio pakankamai kompiuteriai ją suprasti.
Prieš galite paleisti C kodą kompiuteryje, pirmiausia reikia surinkti,
, kuris paverčia jūsų C kodą į mašininiu kodu,
- kaip jos vardas reiškia - yra dvejetainis formatas, kad mašina gali suprasti.
>> Pats paprasčiausias būdas tai padaryti yra tiesiog naudokite komandą, pavadintą "padaryti".
Padaryti, yra įrankis sudarymo šaltinio kodą.
Tai ne kompiliatorius pats, o programa, kuri organizuoja invokacijas kompiliatorių
kodo failus, kad viskas susitvarko rengiami tinkamai tvarka
tinkamu būdu nuo kompiliatoriaus vėliavėles gali gauti rūšies sudėtinga, kaip matysime.
Tai ypač naudinga, kai dirbate su dideliais projektais, su daug kodo failus
ir daug įvairių bibliotekos.
Bet tai taip pat malonu jį naudoti, kai jūs tik viename faile.
Taigi, galime sudaryti šį "Hello, World!" Programą naudojantis padaryti.
Mano kodo failo vardas yra hello.c, todėl aš make Apie
ir pasinaudos savo numatytąjį diegimą, siekiant sudaryti.
>> Darant prielaidą, kad viskas vyks gerai, aš galiu naudoti ls komandą į sąrašą visus failus į katalogą,
ir aš turiu pamatyti naują failą pavadinimu "Hello".
Šis failas yra vadinamas "atliekamo"
ir jis yra dvejetainiu formatu, kad kompiuteris gali suprasti.
Jei mes atidaryti jį, mes galime pamatyti keletą simbolių, kad mes galime suprasti,
tačiau didžiąja dalimi tai tik Mumbo-Jumbo krūva.
Tačiau galiu paleisti šį failą ir žiūrėti spausdinti "Hello, world!" vėl ir vėl.
>> Oh, įspūdžių!
Taigi, grįžkime šiek tiek mūsų make komandai ir pamatyti, kas iš tikrųjų atsitiko
siekiant gaminti vykdomąjį failą.
Galite matyti, kad kai išbėgau padaryti, tai atspausdinti šią eilutę
Apsukite metalinis garsas "pradedant ir baigiant" labas ".
Tai remtis sudarytojas - šiuo atveju, vienas vadinamas "Apsukite metalinis garsas"
numatytųjų vėliavas ar galimybes, siekiant gaminti mūsų vykdomąjį krūva.
>> Apsukite metalinis garsas yra vienas iš C kompiliatorių, ten pasaulyje.
Galbūt girdėjote ar naudojami kitų tie,
ypač vienas vadinamas "gcc", tai yra itin dažnas.
Mes pasirinkome naudoti Apsukite metalinis garsas CS50, nes mes manome, kad tai daro tikrai gerą darbą
suteikti naudingų įspėjimai ir klaidų pranešimai
ir dėl to, naudojant jį yra tikrai panašus į naudojant gcc,
todėl jūs galite labai lengvai pereiti tarp dviejų.
>> Kai padaryti bėgo Apsukite metalinis garsas, jis bėgo jis su visa krūva galimybių.
Tačiau tai nėra būtina naudoti visas iš šių variantų
tiesiog sudaryti vieną C kodo failą.
Viskas, ką reikia padaryti, yra naudoti Apsukite metalinis garsas hello.c.
Vėlgi, jei viskas eisis gerai, tai sukuria vykdomąjį failą.
Tačiau, jei aš pabandyti paleisti. / Sveiki, aš gausiu klaida sakydamas, kad nėra tokio failo ar katalogo.
Kas atsitiko?
Apsukite metalinis garsas numatytuosius pavadinimus vykdomąjį a.out
kurį mes pamatyti, jei mes sąrašą katalogą su ls.
Šį failą, galime paleisti, ir ji taip pat spausdinti iš "hello, pasaulio!" , kaip numatyta.
>> , Jei norime pervadinti vykdomąjį,
mes galime naudoti komandą Perkelti, tai padaryti,
tačiau didžiąją laiko dalį mes tiesiog norime Apsukite metalinis garsas padaryti tinkamą vardų mums.
Mes galime tai padaryti su Ö vėliavos.
, Jei aš paleisti Apsukite metalinis garsas hello.c-O labas,
tada aš gausiu vykdomąjį failą, pavadintą "labas".
-O variantas yra super dažnas, todėl tikėtis, matyti ir naudoti daug.
Kitą Apsukite metalinis garsas variantų, kad jūs pamatysite daug prasideda-W.
Šios galimybės kontroliuoti, kokių rūšių įspėjimai Apsukite metalinis garsas suteikia jums apie savo kodą.
Pavyzdžiui, Apsukite metalinis garsas gali įspėti jus, jei jūs paskelbti kintamąjį, kad niekada naudojamas.
, Jei aš įdėti int kintamasis vadinamas x hello.c
ir tada sudaryti Apsukite metalinis garsas Wunused kintamųjų hello.c-o Apie
Apsukite metalinis garsas įspėja man apie šios nenaudojamos kintamąjį mano kodas.
>> Dabar yra įvairių tipų įspėjimo toną,
ir tai būtų nemalonus, į sąrašą juos visus, kai paleidžiate Apsukite metalinis garsas.
Vietoj to, yra spartusis galimybė paversti juos visus ant sienos.
Mes tai įjungtas pagal nutylėjimą, kai paleidžiate, kad į prietaisą,
todėl jūs gausite visų įspėjimų, kad Apsukite metalinis garsas gali suteikti jums apie savo kodą.
Apskritai, jūsų kodas komponavimo įspėjimus nėra geras dalykas,
ir mes tikėtis programas, kad jūs rašyti CS50 būti įspėjimas.
Tačiau, kaip matote, Apsukite metalinis garsas bus vis dar gamina vykdomąjį failą
net jei yra įspėjimas rengimo proceso metu.
Tačiau mes galime priversti Apsukite metalinis garsas sustabdyti rengimo ir gaminti klaidą
jei ji patiria kažką vertą įspėjimas kode.
Mes tai darome su Werror galimybe.
>> Dabar, jei aš kompiliuoti savo hello.c failą, nepanaudotos int kintamasis X,
Aš ne gauti vykdomąjį failą.
Dabar, aš negaliu ignoruoti komponavimo įspėjimus.
Man reikia eiti, nustatyti savo kodą.
Kita svarbi galimybė yra-ggdb.
Tai leidžia specialią derinimo informacijos vykdomąjį failą,
, kad galėčiau paleisti Debugger, gdb, jei ji sugenda.
Be Pasirinkus šią galimybę, aš negaliu prieiti prie daug mano laidos informacijos per gdb,
kaip kintamųjų ir funkcijų pavadinimus,
todėl svarbu įtraukti ggdb, taip pat.
Kai paleidžiate, kad ant prietaiso, ši galimybė taip pat yra įtrauktas pagal nutylėjimą.
>> Galutinis variantas, kad svarbu žinoti, apie tai-l,
kuris yra naudojamas susieti bibliotekas į kodą.
Pavyzdžiui, jei norite naudoti iš CS50 bibliotekos funkcijas, pavyzdžiui, GetString
jums reikia padaryti, tikrai, kad ne tik jums # include bibliotekos antraštės faile, CS50.h,
savo C kodo failą
bet taip pat, kad jūs naudojate-lcs50, rengdama
kad įgyvendinant bibliotekos yra susijęs su jūsų programa.
Sutikime pakeisti Hello World programa greitai vartotojo vardą su GetString funkcija
ir tada naudoti pavadinimą mūsų Hello eilutę.
>> Dabar, jei mes stengiamės sudaryti šią programą, o naudojant-lcs50,
mes gauname apie neapibr ÷ žtas atsižvelgiant į GetString klaidą.
Uh oh! Leiskite pridėti-lcs50, ir dabar viskas veikia tik bauda.
>> Vienas kabliuko yra tai, kad daro skirtumą, kai į komandą norite rašyti lcs50.
, Jei aš rašau jį, kol aš rašau hello.c, tada CS50 biblioteka yra pakrautas ir tvarkomi
prieš mano išeitinis kodas.
Taigi, tai, jei aš ne rašyti-lcs50 ne.
Kaip nykščio taisykle, dažniausiai norėsite įdėti visus savo-l galimybių
savo komandą.
Taigi, dabar galime padėkite jį visi kartu.
Apsukite metalinis garsas-ggdb-lenta-Werror hello.c-lcs50-O hello -
tai daug daiktų.
>> Štai kodėl padaryti, yra labai naudinga. Ji rūpinasi visa tai už jus.
>> Taigi, dabar jūs turite gerą idėją, kas patenka į renkant kodą.
Mano vardas yra Nate Hardison. Tai CS50.
[CS50.TV]