Yadda ake koyon shirye-shiryen C da kayan yau da kullun na hanyoyin aiki?

Gunkin shiryawa

Akwai hanyoyi da yawa don koyi shirin, akwai shafukan yanar gizo da yawa tare da koyarwa, misalai na lamba, da dai sauransu. Hakanan zaka iya samun littattafai iri-iri akan shirye-shirye, duka C da sauran yarukan da yawa. Hakanan akwai kwasa-kwasan shirye-shirye na kan layi ko kuma fuska da fuska inda zaku fara fahimtar waɗannan dabarun don ƙirƙirar software na kanku daga farko zuwa matakin ci gaba.

Bayan haka, a gefe guda, akwai wasu masu horar da jiki tare da wasu microprocessors ko microcontrollers waɗanda zaku iya shirin koyon wannan fasaha kusan ta hanyar wasa da ƙirƙirar ayyukan. Kyakkyawan misali shine Rasberi Pi kanta, allon Parallaz, ko na ƙasa waɗanda zaku iya samu a cikin shagon MKElectronics, ko sanannun allon Arduino, Tashi. Koyaya, idan kuna son mayar da hankali kan ci gaban software, koyaushe ina ba da shawara iri ɗaya: karanta da gyara lambar.

A cikin wannan sakon Ba zan yi kokarin ba ku azuzuwan shirye-shirye ba, Tunda yana da taken da zan bayar don labarai da yawa kamar wannan bayanin daga kayan yau da kullun na shirye-shirye zuwa ga ci-gaba shirye-shirye. Ina so in ba ku wasu albarkatu ko hanyoyin da za ku fara don ƙarfafa iliminku. Kuma ina baku tabbacin cewa suna da matukar tasiri. Hakanan, kun san cewa zaku iya farawa da kowane GNU / Linux distro, tare da abubuwanda ake buƙata don shirye-shirye kamar editan rubutu, ko IDE, suma GCC da GDB, idan kuna son yin kuskure ... Ko kuma amfani da wasu rarrabawa ga masu shirye-shirye. Ina kuma tsammanin kun riga kun san ko ya kamata ku san irin wannan kayan aikin da kuke da su.

Yadda za'a fara

Lambar tushe ta allo

Kuna iya nemowa lambar yanki a cikin hanyar sadarwa zuwa miliyoyin, ma'ana, gutsutsuren lambar da za a iya amfani da su ko gyaggyara su don yin takamaiman ayyuka. Waɗannan lambobin tushe sune tushe don ilmantarwa, tunda ayyuka ne na asali waɗanda zasu taimaka maka fahimtar yadda shirye-shiryen suke aiki kuma zaka iya gyara wasu sigogi don samun damar yin wani abu daban. Kuma wannan shine yadda yake farawa!

Yayin da kake matsawa gaba, zaka iya tsalle zuwa ciki karanta lambar tushe, wanda idan aka yi sharhi sosai zai kasance mai gina jiki musamman don ilimin ku. Abin baƙin ciki ba duk masu haɓaka bane ke da kyawawan halaye na yin tsokaci akan layukan da suka rubuta, kuma a wasu lokuta maganganun suna da ƙaranci ko rikicewa koda ga gogaggun mutane. Amma sa'a muna da babban ɓangare na al'umma waɗanda ke yin tsokaci kan ayyukansu sosai.

Dandamali inda lambar software kamar GitHubMisali, kodayake akwai wasu da yawa, amma su mahimman hanyoyi ne na hikima. A zahiri, ina ba da shawarar cewa da zarar kun sami wadatacciyar magana tare da snippets ko ƙananan shirye-shiryenku, je zuwa waɗannan nau'ikan dandamali kuma sami damar lambar tushe na ayyuka masu sauƙi. Kuna iya amfani da matatar da ayyukan injin bincike don neman takamaiman lambar a cikin harshen shirin, ta yaya C sannan ka zabi wanda yafi sauki.

Da kadan kadan zaka iya tafiya kara rikitarwa na shirye-shiryen don daukaka ilimin ku zuwa matakin da ya dace. Kada a fara da ayyukan da layuka da yawa, ko kuma za kuyi takaici ta rashin fahimtar abin da wannan adadin lambar yake da shi ko kuma abin da yake yi. Ana farawa da ƙananan shirye-shirye na linesan layuka dozin, sannan ga fewan 100 ko fiye da haka kuma har zuwa littlean byan ƙarami zaku isa ga shirye-shirye masu rikitarwa.

Kari akan haka, Ina baku shawara da ku nemi shirye-shiryen da kuka sani sarai dangane da amfanin su. Misali, kaga kana amfani da wani editan rubutu mai bude ko a ma'afin ƙira. Sanin abin da wannan shirin ke yi a aikace zai sauƙaƙa muku alaƙa da layin lambar tushe wanda zaku gani tare da ayyukan da shirin ke yi. A gefe guda, idan ka zaɓi lambar da ba ka da wata ma'ana game da ita, kawai tare da taimakon ilimin tsarin aikinka na asali da tsokaci da za ka samu a cikin fayilolin lambar ba za su isa ba.

Misali, kalli misalin na biyu wanda aka nuna a cikin bincike na shirye-shiryen lissafi a cikin harshe C daga cikin wadannan image. Bayanin ya nuna cewa shirin layin umarni ne wanda ke aiwatar da kalkaleta mai sauki. Wannan lambar kirki ce don farawa, ba wai kawai don sauƙin lambar ba, amma saboda kasancewar rubutu ba zaku sami fayilolin lamba masu alaƙa da GUI ba, da sauransu.

Github

Idan muka shiga cikin wannan aikin don ganin lambar sa, zamu fara nemo fayilolin da mai haɓaka ya ɗora a wannan dandalin. Kamar cikakkun bayanai na lasisin lasisi, fayil ɗin tare da bayanai daidai kyau README, da dai sauransu. Amma lura cewa akwai buga kwallo da kai fayiloli kamar masu taimako.h da tsarin.h, waɗannan biyun suna da mahimmanci, kuma su biyun .c, waɗanda sune waɗanda suke da ainihin lambar tushe ta C don wannan shirin:

Kwallaye

Idan muka sami dama ga ɗaya daga cikin rubutun kai ko .h, zamu ga cewa shi mai sauƙi ne, ba tare da layuka da yawa ba. Za ku sami waɗannan nau'ikan fayilolin sau da yawa, sai dai idan tsari ne mai sauƙi wanda ba ya buƙatar su, amma yana da hada da fayil inda aka haɗa wasu cikakkun bayanai ko ƙarin fayiloli cewa mai tarawa dole ne ya aiwatar don samar da binary na ƙarshe na shirin.

A cikin fayil na taken kai tsaye zaka sami bayanin sanarwa na aji kai tsaye, ƙananan hanyoyin, ƙayyadaddun masu canji, da sauransu. Wani lokacin wadannan .h sune dakunan karatu cewa zaku iya amfani da shi daga babban fayil na lambar (.c) yin nuni kai tsaye ga abin da aka ayyana a cikin waɗannan taken ba tare da sake maimaita dukkan tsarin a duk lokacin da ake buƙata ba:

Rubutun lamba

Game da lambar tushe ita kanta, kamar fayil din calc.c daga misalinmu, zaku sami ƙarin layuka. Game da 400 wani abu, kuma a cikin wannan takamaiman lamarin ba a yi musu sharhi. Wanda ke matukar hana fahimtar lambar. Koyaya, kasancewar shiri ne mai sauƙi kamar kalkuleta, zaku iya karanta shi kuma ku gyara shi ba tare da matsala ba, tunda zai zama da ilhama:

Tuna karanta lambar kuma gyara shi. Wadancan sune mabuɗan koyo don tsarawa ta hanya mafi kyawu ...

Moreaya ƙarin matakai: kwaya

Linux Kernel

Yanzu, lokacin da kuka riga kuka sami wasu ƙwarewar shirye-shirye na yau da kullun a cikin yaren C, zaku iya yin gaba gaba kuma ku shiga duniyar ban sha'awa na tsarin aiki da kuma tsarin kwamfuta. Don wannan dole ne ku sami ɗan ilimi kaɗan yadda kwamfutoci ke aiki, amma kuma ayyukan buɗe tushen buɗe na yanzu zasu iya taimaka mana da yawa.

Binciken da lambar tushe na kwaya zai iya sa mu fahimci hanya mafi kyau yadda wannan duniyar tsarukan ke aiki, kuma zai zama babban aji don samun "digirin digirgir" a cikin shirye-shiryen C, saboda wani abu ne na manyan kalmomi. Kuna iya tunanin cewa mafi kyawun aikin don koyon wannan zai zama kwayar Linux.

Madadin haka, halin yanzu na sababbin nau'ikan kernel na Linux suna da matukar rikitarwa ta yadda yawancin mutane ba za su iya fahimtar su ba. Musamman ga babban adadin lambar don wasu ƙananan tsarin da direbobi waɗanda zaku ga an ƙara akan abin da yake kwaya kanta. Wannan na iya sa ka yi tunanin cewa a cikin kernel.org zaka iya samun ingantattun sifofi na kwaya, kamar "tarihi" inda akwai wasu "tsoffin fassarorin" kamar na Linux 0.01, na farko wanda lambar ta ragu sosai kuma mai sauƙin nazari.

Kernel.org kama

Kuma ko da yake lambar C da zaku samu a cikin kwayar Linux tana da kyau, Ba na ba da shawarar kwayar Linux saboda gaskiyar cewa galibi ba a cika yin sharhi akai-akai a lokuta da yawa. Ba na ce masu haɓakawa suna da mummunan ra'ayi game da sharhi ba, amma yana iya rikicewa ga sabon zuwa wannan. Don haka adana kernel na Linux da LKML don gaba ...

Kuma gaskiya ne cewa sun wanzu wasu littattafai masu kyau da kuma kwasa-kwasan koyo game da kwaya, kayayyaki da direbobi, amma wataƙila ba shine mafi kyawun wurin farawa ba. Wasu misalan sune (wasu daga cikinsu, kamar na Greg, zaku iya zazzagewa kyauta, tunda an sake su):

  • Linux Kernel Development 3th Bugu ta Robert Love.
  • Fahimtar Linux Manajan Memory Memory ta Mel Goman, kodayake ƙarshen yana mai da hankali ne kawai ga sarrafa ƙwaƙwalwar kernel.
  • Linux Na'urar Direbobi Na'ura Na Uku na Greg Kroah-Hartman, kodayake an mayar da hankali ne akan kwaya ta 2.6, amma babban aiki ne don fahimtar direbobin kernel da kayayyaki.
  • Kernel na Linux a cikin Kayan Nutshell wani babban Greg Kroah-Hartman ne wanda ke ba ku hangen nesa sosai a duniya.

Hakanan zaka iya samun wasu rukunin yanar gizo masu ban sha'awa sosai, fiye da naka bayani da takardu wanda zaku iya samu a kernel.org, kamar:

Wani daga cikin manyan ayyukan da har yanzu ake karatunsu kuma yake aiki a matsayin ilmantarwa shine UNIX na 6, wanda aka binciki lambar sa ta hanya mai ban mamaki a cikin littattafai kamar su Sharhin Lions kan UNIX 6th Editionby John Lions. Na bar muku shi a matsayin wata dabara ta daban, kodayake na ci gaba da ba da shawarar mai zuwa wanda zan yi sharhi a kansa ...

Amma ina tsammanin hakan mafi kyawun abin da kuke da shi shine kuyi nazari da nazarin lambar asalin MINIX. Tsari ne mai sauki wanda aka fara saukar da Linux da farko amma wanda aka tsara shi musamman don koyo da karatu. Da yake ana nufin masu ginin tsarin aiki nan gaba su koya, ra'ayoyin da yake da shi abu ne mai ban mamaki ga waɗanda suke farawa.

Informationarin bayani - MINIX3

A can za ku sami bayanai da yawa game da aikin. Kuma zaka iya zazzagewa tsarin aiki kanta, amma kuma kuna da kyakkyawan Wiki inda akwai kuma matani don masu haɓakawa. Amma, tunda game da koyon C ne da nazarin yadda tsarin aiki yake, na tura ku kai tsaye dan zazzage sigar farko ta lambar tushe ta MINIX 1:

Lambar tushe - MINIX1

Misali, idan ka je babban fayil main.cZa ku ga cewa lambar da ke nan ta bambanta da yadda kuka same ta a cikin Linux ko a cikin shirin kalkuleta wanda na yi amfani da misali a farkon wannan rubutun. A wannan yanayin, zaku lura cewa yawan maganganun sunfi yawa:

MINIX lambar tushe

Anan, kusan kowane layi ko kowane yanki akwai comentado. Yin naka karatu da fahimta. Na sake nace, ba wai kawai game da karatu da fahimta ba ne, a'a har ma da gyara ne. Yi gyare-gyarenku da gwaje-gwajen ku, sannan ku tattara ku ga sakamakon. Wannan shine mafi kyawun jagorar shirye-shirye da zaku iya samu. Ina tabbatar muku, kamar yadda koyaushe nake fada wa ɗalibai na, karatun da sauya lambar ita ce mafi kyawun ajin kwamfyuta da zaku samu ...

Ba wai kawai za ku iya nazarin kwayar tsarin aiki ba, har ma da sauran abubuwan taimako waɗanda ke cikin cikakken tsarin aiki kuma kuma yayi umarni wanda zaku iya gudu a cikin kwasfa. Hanya ce mai kyau don koya daga "ciki" yadda waɗancan dokokin kamar ls, cat, cp, grep, echo, da dai sauransu, waɗanda kuke aiwatarwa yau da kullun, kuma tare da kyakkyawan bayanin aikin lambar aiki ...

Lambar tushe ta umarni - MINIX1

Aƙarshe, Na san wani saurayi wanda ya ƙirƙiri kwaya da aka yi daga karce. Sunansa Luis kuma kuna iya samun aikinsa a wannan adireshin GitHub, Wani misali mai kyau wanda zan ba da shawara. Ana kiran tsarinsa Indiya, abu ne mai sauki kuma cikakke ne don samun ilimin asali. Wa ya sani? Wataƙila ku ne na gaba da zaku iya ƙirƙirar kwaya ...

Idan kana son koyo mai haɗawa ko ASM, harshe mai ban sha'awa tare da C don shirin a ƙananan matakin kuma, musamman, don tsarin aiki ..., akwai kuma ayyuka masu ban sha'awa irin su batun Hummingbirds, tsarin kyauta da aka rubuta a cikin haɗuwa. Kasancewa cikin ASM, ya fi rikitarwa, amma kuma yana ba da kyakkyawan ra'ayin yadda injuna ke aiki akan matakin kusanci game da kayan aiki.

Koyawa: Buga lambar tushe don nazarin shi akan takarda

PDF tare da lambar tushe mai launi

Idan kana ɗaya daga cikin waɗanda ba sa son yin awoyi a gaban allo ka dube ta, wataƙila ka fi son takarda. Zan nuna muku karamin koyo kan yadda zaku iya buga duk wadannan lambobin tushe wadanda muka yi magana akansu ko wadanda kuke son yin nazari a kansu. Don haka zaka iya a sami PDF tare da karin haske shirye don bugawa a kan firintar ka kuma karanta a takarda, inda zaka iya yin bayanin ka da ƙari.

Don yin wannan, abu na farko zai kasance shigar da buƙatun buƙata a cikin distro:

 

sudo apt-get install texlive-latex-extra latex-xcolor textlive-latex-recommended

Da zarar muna da waɗannan fayilolin, zamuyi amfani da LATEX Don canza lambar tushe zuwa cikin PDF, kuma saboda wannan dole ne mu adana wannan rubutun, mu ba shi izinin aiwatarwa kuma aiwatar da shi a cikin Bash:

#!/usr/bin/env bash

tex_file=$(mktemp) ## Random text file name

cat<<EOF >$tex_file   ## Print the text file header
\documentclass{article}
\usepackage{listings}
\usepackage[usenames,dvipsnames]{color}  %% Allow color names
\lstdefinestyle{customasm}{
  belowcaptionskip=1\baselineskip,
  xleftmargin=\parindent,
  language=C++,   %% Change this to whatever you write in
  breaklines=true, %% Wrap long lines
  basicstyle=\footnotesize\ttfamily,
  commentstyle=\itshape\color{Gray},
  stringstyle=\color{Black},
  keywordstyle=\bfseries\color{OliveGreen},
  identifierstyle=\color{blue},
  xleftmargin=-8em,
}        
\usepackage[colorlinks=true,linkcolor=blue]{hyperref} 
\begin{document}
\tableofcontents

EOF

find . -type f ! -regex ".*/\..*" ! -name ".*" ! -name "*~" ! -name 'src2pdf'|
sed 's/^\..//' |                 ## Change ./foo/bar.src to foo/bar.src

while read  i; do                ## Loop through each file
    name=${i//_/\\_}             ## escape underscores
    echo "\newpage" >> $tex_file   ## start each section on a new page
    echo "\section{$i}" >> $tex_file  ## Create a section for each filename

   ## This command will include the file in the PDF
    echo "\lstinputlisting[style=customasm]{$i}" >>$tex_file
done &&
echo "\end{document}" >> $tex_file &&
pdflatex $tex_file -output-directory . && 
pdflatex $tex_file -output-directory .  ## This needs to be run twice ## for the TOC to be generated  </pre><pre>

Bayan adana shi zuwa fayil tare da sunan pdf.sh, zaka iya bashi izini ka aiwatar dashi ta hanya mai sauki:

chmod +x pdf.sh
./pdf.sh

Kuma sakamakon zai zama PDF tare da rubutu mai haske a launi don ingantaccen karatun fayilolin lambar tushe na kundin adireshi na yanzu. Sunan daftarin aiki na PDF zai kasance duka.pdf. Yanzu zai kasance a shirye domin ku saka shi cikin layinku don samun shi akan takarda.

Af, matsalar kawai ita ce fayilolin lambar tushe Littafin adireshin da kake gudanar da wannan rubutun wanda ya ƙunshi sarari a cikin sunayensu ba zai yi aiki tare da wannan rubutun ba. Don haka idan akwai wasu zaku iya canza sunan su ko canza rubutun don tallafawa su ...

Kar ka manta da barin ra'ayoyin ku, Zan yi farin cikin amsa duk tambayoyin da kuke da shi game da shi, ko kuma sauraron duk wani martani da kuke da shi don inganta gidan. Kuma ina fatan ya zama jagora don farawa ku a wannan duniyar ...


Bar tsokaci

Your email address ba za a buga. Bukata filayen suna alama da *

*

*

  1. Alhakin bayanai: AB Internet Networks 2008 SL
  2. Manufar bayanan: Sarrafa SPAM, sarrafa sharhi.
  3. Halacci: Yarda da yarda
  4. Sadarwar bayanan: Ba za a sanar da wasu bayanan ga wasu kamfanoni ba sai ta hanyar wajibcin doka.
  5. Ajiye bayanai: Bayanin yanar gizo wanda Occentus Networks (EU) suka dauki nauyi
  6. Hakkoki: A kowane lokaci zaka iyakance, dawo da share bayanan ka.

  1.   SLAM m

    Kyakkyawan matsayi… !!!
    Ina da matsala kawai da rubutun, yana zaɓar don kurakurai akan layin 5.

  2.   Javier m

    Barka dai, barka da dare anan Mexico, zai yi kyau ka ci gaba da rubutu ta wannan hanyar kuma, idan zai yiwu, ka ci gaba da cika ilimi. A gefe guda, na gode da sadaukar da lokacinka da gogewar da muka rage rabinsa. Lamarin da na samu shine na bar aikina saboda matsaloli a yanzu ina aiki ne don tallafawa kaina. Da kadan kadan nake debo abubuwa a wannan ma'anar, da gaske Jimillar Godiya.

  3.   mala'ika martinez m

    Ta yaya zan sami duk bayanan game da shirye-shirye

  4.   Isma mara soyayya m

    Matsalar layin 5 mai yuwuwa (saboda ban gwada ta ba xd) saboda an rubuta kamar haka:

    cat < $ tex_file ## Buga taken fayil ɗin rubutu

    lokacin da ya kamata ya zama kamar wannan:

    cat <$ tex_file ## Buga taken fayil ɗin rubutu

    Ko don haka ina tunanin: U ...

    Na gode.

  5.   Isma mara soyayya m

    Oh jahannama wannan lokacin ya yi daidai>: v

  6.   Gregory ros m

    Taya murna a kan labarin, Ina son shi! Dakatar da shirye-shiryen da suka gabata…. xD kusan shekaru talatin, lokuta marasa adadi nayi la'akari da sake ɗauka kuma saboda rashin lokaci kuma musamman LAZINESS koyaushe ina jinkirta shi. Na yarda cewa takaddun da ake da su yanzu suna da ban mamaki, abin takaici shine mafi yawansu na Turanci ne, na san cewa yanzu kowa yana son fahimtar sa, amma ilimin na ya iyakance ga kalmomin da ba su wuce dozin biyu da ake amfani da su a cikin shirye-shiryen ba. Shin akwai darasi akan kernell a cikin Spanish? Banyi alƙawarin ci gaba da shirye-shirye ba, Na bar shi sau da yawa don yarda zan iya yin sa yanzu, amma idan akwai wani abu da ban taɓa rasawa ba, son sani ne. Godiya ga labarin da kuma gaisuwa mafi kyau.