004 - Programski jezik C - Prvi program - pisanje, prevođenje i pokretanje

Поділитися
Вставка
  • Опубліковано 7 вер 2024

КОМЕНТАРІ • 109

  • @urosbaljak2749
    @urosbaljak2749 3 роки тому +2

    hvala ti jako lepo objasnjavas. Tenk ju maj bro xd

  • @synth1002
    @synth1002 Рік тому

    Dragi Milane, pre svega želeo bih da ti se zahvalim na ovom kursu.
    Pokušao sam sam rešiti probleme, no ne ide. Instalirao sam mingw sa softonic linka, označio osnovni paket i instalirao, valjda ok.
    No, sa visual studio code programom nastaju problemi. Prvo sam mislio da je do verzije.
    Onda sam instalirao bukvalno kao tvoju sa ovog snimka, ne pomaže.
    U prvoj verziji programa kojeg sam skinuo je htelo kao da odradi debuging ono prvi deo, drugi nije (onaj deo kad pokaže kao da je odštampano na monitoru), a sad sa ovom verzijom sa snimka debuging uopšte ništa ne izbaci posle kliktanja na C++(GDB/LLDB) opciju.
    Što je najgore čak kada sam deinstalirao onu prvu verziju ostao je taj folder koji sam napravio prvi put, znači ne mogu lepo ni da deinstaliram. Onda isto imam sitan problem što mi ne iskaču preporuke kad pritisnem # pa recimo inc ne izlazi ona lista sa include etc...
    Šta je u pitanju što ne radi debuging? Kako aktiviati onu listu preporuka (za početnike je to veoma važno jer vide šta ima etc.)? Zašto mi se kvalitetno ne deinstalira program?
    Inače koristim Win7 64 bit. Instalirano sve lepo, e sad dalje...
    Voleo bih da se ovi problemi reše kako bih mogao pratiti ovaj veoma dobar kurs koji bi mi veoma značio.

    • @MilanTair
      @MilanTair  Рік тому

      Postoji neki problem sa instalerom za MinGW, koji je poznat od skoro zbog kojeg postupak koji sam pokazao neće da radi.
      Možete umesto Visual Studio Code da instalirate Visual Studio Community IDE. To nije isti IDE, ali VS ima opciju da instaliram Microsoft C++ compiler, koji nije open source kao GCC, ali je moguće pisati skoro isti C kod, uz povremeno neke male izmene.
      Drugo rešenje je da instalirate CodeBlocks i kroz njega GCC i da koristite njega kao IDE.
      Dok se ne reše bug-ovi u GCC+VSCode.

    • @synth1002
      @synth1002 Рік тому

      @@MilanTair Hvala, pokušaću te druge opcije uskoro kada nađem vremena

  • @zavisanjagojevic
    @zavisanjagojevic Рік тому +1

    Hvala mnogo za ovaj odličan serijal. Imam problem (8.23) sa ispisom u terminalu. Ne dobijam ispis, samo debug konzola ispisuje, terminal ne. Molim Vas za pomoć. Hvala.

    • @MilanTair
      @MilanTair  Рік тому +1

      Ako pokrećete sa start debugging, biće debug konzola fokusirana, a ako ručno pokreće komandom u terminalu, tu će biti ispisan izlaz programa. To je malo promenjeno u VSC od kada je pravljen snimak.

    • @zavisanjagojevic
      @zavisanjagojevic Рік тому

      @@MilanTair Hvala Vam na brzom odgovoru. Nisam precizno opisao problem. Poruke o grešci glase:
      "message": "#include errors detected. Please update your includePath. IntelliSense features for this translation unit (C:\\Users\\Korisnik\\Kod\\Program C_Visual studio kod\\1_program.c) will be provided by the Tag Parser.",
      I druga poruka: cannot open source file "stdio.h"
      Ja nisam uspeo da instaliram (mingw-w64-install.exe) jer mi javlja: "The file been downloaded incorrectly". Intalirao sam: mingw-get-setup.exe.
      Da li to može biti problem? Hvala Vam na pomoći.

    • @MilanTair
      @MilanTair  Рік тому +1

      To je skroz nešto drugo. Instalirajte ispravno MinGW ili neki drugi C compiler, pa onda probajte.

    • @zavisanjagojevic
      @zavisanjagojevic Рік тому

      @@MilanTair Hvala Vam mnogo. Pokušaću da instaliram mingw-w64-install.exe, ali ne znam zašto mi pri pokretanju instalacije javlja: "The file been downloaded incorrectly".

    • @MilanTair
      @MilanTair  Рік тому +1

      Znači da je taj download link sa kojeg ste preuzeli MinGW neki stariji i repozitorijum je zastareo. Probajte da nađete neke novije linkove na zvaničnom sajtu ili preuzmite clang compiler install ili Visual Studio C/C++ Compiler. Svejedno je. Visual Studio Code će moći da radi sa bilo kojim od njih, samo će neke stvari u kodu možda malo da se razlikuju.

  • @tihomirmuskinja1836
    @tihomirmuskinja1836 2 роки тому +1

    Treba paziti da folderi u kojima ce program biti spremljen budu bez interpunkcijskih znakova tipa č,ć, itd... Ja to nisam znao pa sam cijelo popodne pokusavao odgonetnuti zasto VS code ne moze pronaci datoteku i stalno baca error.

    • @MilanTair
      @MilanTair  2 роки тому +1

      Da, to jeste nedostatak prevodioca. Nije mi to bilo palo na pamet da skrenem pažnju. Hvala.

  • @dunjamedic5440
    @dunjamedic5440 2 роки тому +1

    Kada ponovo kliknem na start debugging pojavi mi se ovo
    launch:program'enter program name, for example D:\Desktop\Project\a. exe' does not exist
    Šta sam pogresila

    • @MilanTair
      @MilanTair  2 роки тому

      Ne znamo da li ste to greškom stavili razmak u ekstenziju, pre exe. Moguće da Vam nije ispravno podešen build script preko VS code. Probajte ručno da provedete program i pokrenete kako sam pokazao u narednim snimcima.

  • @draskodjokic8074
    @draskodjokic8074 2 роки тому

    Postovanje, mala pomoc.
    Sve je uradjeno po uputstvu i ovo je poruka koja mi stoji u terminalu.
    Takodje u desnoj koloni se pojavilo u .vscode :
    launch.json
    tasks.json i na kraju
    program.exe
    > Executing task: C/C++: gcc.exe build active file <
    Starting build...
    "C:\Program Files (x86)\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw32\bin\gcc.exe" -fdiagnostics-color=always -g "C:\Users\Korisnik\Desktop\PROGRAMIRANJE\lekcija 1\program.c" -o "C:\Users\Korisnik\Desktop\PROGRAMIRANJE\lekcija 1\program.exe"
    Build finished successfully.
    Terminal will be reused by tasks, press any key to close it.

    • @MilanTair
      @MilanTair  2 роки тому

      To je sve u redu. Piše da je build završen uspešno. To je build output tab terminala. Otvorite terminal deo u kojem se vidi output programa. To je jedan od tabova pored tog.

    • @draskodjokic8074
      @draskodjokic8074 2 роки тому

      @@MilanTair ne ispisuje mi se zadati tekst dole u terminalu. Nikako ne uspevam da pronadjem to sto ste mi napisali. Ali ako je sve u redu onda ok. Bitno da mogu da nastavim da pratim dalje.

  • @Vido89
    @Vido89 3 роки тому

    Sve pohvale na radu i trudu koji si uložio u ovaj seriajal, samo mi nije jasno zašto ne koristiš "int main(int argc, char **argv ){return 0; } ?

    • @MilanTair
      @MilanTair  3 роки тому +3

      Hvala.
      Zato što ne uzimam argumente iz komandne linije prilikom poziva ovog programa, niti operativnom sistemu vraćam povratnu informaciju/status o prirodi i načinu završavanja rada programa.
      Kada mi budu bili potrebni argumenti koje programu korisnik zadaje kroz komandnu liniju, staviću argc i argv, a kada budem imao potrebu da obavestim OS ili neki program koji pozove ovaj moj, staviću int umesto void za return type.

    • @Vido89
      @Vido89 3 роки тому

      @@MilanTair da da, ali ti koristiš "printf" a printf vraća cio broj operativnom sistemu sa kojim ga obavještava koliko je slova odštampano na ekranu, i lijepo bi bilo da obavjestiš OS da je program uspješno izvršen sa return(EXIT_SUCCESS); Mada mislim da kompajler gcc već od C99 sam dodaje return0 iako nije napisan

    • @MilanTair
      @MilanTair  3 роки тому +3

      Funkcija printf nije ni važno šta vraća, jer taj podatak u ovom programu nigde ne koristimo, a svakako taj podatak ne prosleđujemo OS-u. Što se tiče načina kao GCC radi, tako je, kada ja naparvim da je funkcija void main, on će je svakako prevesti kao da sam pisao int main i na kraju će dodati return 0, jer to OS očekuje, ali ako ja nemam potrebu da obavestim OS o "nepovoljnom" ishodu sa nekom greškom, npr. -1, -200 itd. onda nema ni potrebe da u kodu pišem dodatni overhead. Time neka se bave alati za prevođenje. To je suština. Nisam ni hteo da na ovim početnim lekcijama opterećujem ljude time da objašnjavam šta je to return 0 i šta su argc i argv, jer za to postoji posebna namena i postoji kasnije posebna lekcija u kojoj baš objašnjavam upravo te stvari, ali tada ljudi koji prate serijal već imaju dovoljno usvojenog znanja da mogu lakše takve stvari da razumeju, kao i njihovu namenu. Da sam sada to objašnjavao na početku, to bi bilo previše apstraktno i kasnije kada bih se pozvao na to, neko bi morao da se vraća na stare snimke da to pogleda opet. Ovako, kada dođe vreme da pokažem kako se koriste command line argumenti i return status code, onda ih i uvedem prvi put. :)

  • @markopanee7899
    @markopanee7899 2 роки тому

    meni apsolutno nista ne funkcionira 7.47. ,uopce ne nudi gcc.exe-build and debug active file nego c/c++: gcc.exe builde and debug active file preLaunchTasic c/c++:gcc.exe build active file deetected Task(compilare : /MinGW/bin/gcc.exe.)

    • @MilanTair
      @MilanTair  2 роки тому +1

      To je to. Samo Vam VSCode editor vidi GCC kao C/C++ prevodioca, a svakako vidim da putanja jeste ispravna (gcc.exe).

  • @djordjevicnikola1612
    @djordjevicnikola1612 Рік тому

    Kod mene ime i grad koje sam uneo printaju mi se u debug console gde sam pogrešio molim te mi kaži??

    • @MilanTair
      @MilanTair  Рік тому

      Debug konzola je izlaz programa. To je u redu.

  • @nemanjanesic2345
    @nemanjanesic2345 3 роки тому

    Evo mog problema : expected declaration or statement at end of input gcc
    to pise u konzoli

    • @MilanTair
      @MilanTair  3 роки тому +2

      Negde ste zaboravili da stavite simbol tačka-zarez (;) ili imate manjak/višag nekih zagrada u kodu.

  • @zare55
    @zare55 3 роки тому

    Lepo sam instalirao i mingw i visual studio, cak sam i 2 3 puta sve ispocetka uradio, i uporno nece da ih connectuje, tacnije stdio.h mi je stalno greska i nikad mi ne predlaze i kada krenem debbuging nemam taj drugi korak gde biram gcc.exe... ne znam u cemu je problem..

    • @MilanTair
      @MilanTair  3 роки тому

      Moguće je da je problem u tome da Vam instaler ne uključi putanju gde s enalazi gcc u environment PATH varijablju, pa VS Code ne može da prepozna da taj compiler i njegove povezane biblioteke i include path postoje. Probajte ručno da dodate direktorijum bin u kojem je gcc.exe u PATH varijablu, po mogućstvu, nege pri početak.

  • @Host4Ghost
    @Host4Ghost 2 роки тому

    da li mi je potreban navedeni kompajler obzirom da su mi potrebne samo osnove programa i pisanje osnovnih zadataka koje cu imati na ispitu?

    • @MilanTair
      @MilanTair  2 роки тому +1

      Pa ako hoćete da provedete i pokrenete program da vidite da li radi, treba Vam neki C prevodilac... ako ćete samo da pišete kod programa, trebuju Vam papir i olovka...

  • @wonderfullife1835
    @wonderfullife1835 3 роки тому

    Imam problem, kad kliknem na start debugging i posle na C++ (GDB/LLDB) izađe mi obaveštenje unsupported client. Gde sam pogrešio?

    • @MilanTair
      @MilanTair  3 роки тому

      Jeste li instalirali C/C++ ekstenziju za VS Code kao sa početka instrukcija instalacije? Ako jeste, pošaljite ceo screenshot gde se vidi ceo VS Code prozor sa sve tom greškom. Pošaljite ovde link ja slici.

    • @wonderfullife1835
      @wonderfullife1835 3 роки тому

      @@MilanTair Evo danas sam probao ponovo, sada radi, ne znam u čemu je bio problem. Hvala u svakom slučaju.

  • @Alek-1131
    @Alek-1131 Рік тому

    pise mi da je GW64 intaliran a nijje ?

    • @MilanTair
      @MilanTair  Рік тому

      Morate u PATH varijablu sistema upisati pitanju ka direktorijumu u kojem je gcc.exe.

  • @simplegamingshowtv3906
    @simplegamingshowtv3906 3 роки тому

    Meni izlazi greska da se ne moze otvoriti include i trazi mi da updejtujem patch a ne znam kako da uradim to u jsonu

    • @MilanTair
      @MilanTair  3 роки тому

      Nije problem do editora.
      Vrlo verovatno nije dobro instaliran MinGW GCC i VSCode nije detektovao GCC i njegov include i lib path na Vašem sistemu. Ponovite postupak instalacije doslovno i sa privilegijama administratora sistema.

  • @miljantripkovic-macak-garf6664
    @miljantripkovic-macak-garf6664 2 роки тому

    Pozdrav imam problem kad pokrenem debbuger pise mi : launch: program ( lokacija foledra projekti/lekcije/build/Debug\outDebug ' does not exist.

    • @MilanTair
      @MilanTair  2 роки тому

      Ako ručno uradite build sa gcc i pokrenete, da li radi? Da vidimo da li je GCC dobro instaliran.

    • @miljantripkovic-macak-garf6664
      @miljantripkovic-macak-garf6664 2 роки тому

      @@MilanTair ja kad skinem gcc pise da nisam ispravno skinuo a sve sam urdaio sa klipa mozda ta adresa vise nije aktivna.

    • @MilanTair
      @MilanTair  2 роки тому

      Moguće. Probajte neki drugi mirror link.

    • @miljantripkovic-macak-garf6664
      @miljantripkovic-macak-garf6664 2 роки тому

      @@MilanTair probao sam sve sa onog sajta sourceforge ali nema veze ako nece

  • @milanbjeka8192
    @milanbjeka8192 2 роки тому

    the file has been downloaded incorrectly!
    ovo mi izbaci pri pokretanju instalacije, a sve sam isto uradio, poslednja verzija je jos uvek 8.1.0

    • @MilanTair
      @MilanTair  2 роки тому

      Preuzmite sa ovog linka varijantu instalera koja odgovara Vašem sistemu: sourceforge.net/projects/mingw-w64/files/mingw-w64/

    • @andrijatrajkovic2282
      @andrijatrajkovic2282 2 роки тому

      @@MilanTair meni ne želi da radi nipreko ovog linka

  • @andrijaabramovic3780
    @andrijaabramovic3780 2 роки тому

    Zdravo.Imam problem.Ponovio sam vise puta proces.U Terminalu mi sve normalno ispise ali mi ne formira launch.json file vec samo tasks.json.Hvala unaprijed.

    • @MilanTair
      @MilanTair  2 роки тому

      Da li pokrene proces prevođenja i pokrene program?

    • @andrijaabramovic3780
      @andrijaabramovic3780 2 роки тому

      Da ali mi kreira samo task.json.

    • @MilanTair
      @MilanTair  2 роки тому

      Moguće je da drugačije pravi VSCode od kada sam ja snimao lekcije, pa do sada. Ako radi, znači nije problem.

    • @andrijaabramovic3780
      @andrijaabramovic3780 2 роки тому

      Vazi,hvala.Vidim da postoji mogucnost da se naknadno kreira launch.json ,da li mogu ja rucno da ga iskucam?

    • @MilanTair
      @MilanTair  2 роки тому

      Možete, ali ako VS Code editoru više nije potreban, nema razloga.

  • @martinrakic6867
    @martinrakic6867 9 місяців тому

    Za sta sluzi n?
    Hvala!

    • @MilanTair
      @MilanTair  9 місяців тому


      znači "novi red". To
      je specijalni escape sequence koji označava Line Feed ASCII karakter, koji natera terminal da pređe u narednih red. Kao kada kucate tekst, pa pritisnete Return/Enter taster, pa editor pređe dole u novi red.

  • @urosbaljak2749
    @urosbaljak2749 3 роки тому

    ja kad startujem samo terminal meni ne izbacuje ono sto sam printovao zasto ????????

    • @MilanTair
      @MilanTair  3 роки тому

      Zato što ste pokrenuli debugging. Kada se otvori Debuger tab dole, morate ručno kliknuti da pređete u output tab terminala da vidite ispis u konzoli.

    • @urosbaljak2749
      @urosbaljak2749 3 роки тому

      @@MilanTair ok hvala vam na brzom odgovoru.

  • @katarinamarkovic6941
    @katarinamarkovic6941 3 роки тому

    Da li je sve ovo isto za Windows 7, ili se mora pisati neki dodatni kod

    • @MilanTair
      @MilanTair  3 роки тому

      Trebalo bi da radi isto i na Windows 7 sve. Ovi programi (GCC i VSCode) bi trebalo da rade i na Windows 7 kako treba.

  • @vladanlazarevic3058
    @vladanlazarevic3058 2 роки тому

    Pozdrav Milane.Nije mi jasno zasto meni pokrene samo task.json a ne launch.json fajl?

    • @vladanlazarevic3058
      @vladanlazarevic3058 2 роки тому

      C:\Program Files\CodeBlocks\MinGW\bin\gdb.exe ...Da li je problem sto mi je ova putanja ka MinGW, a radim u Visual Studiu?

    • @vladanlazarevic3058
      @vladanlazarevic3058 2 роки тому

      U sustini imam Code Blocks koji je instaliran u paketu sa MinGW, ali zelim da radim u VS kao vi, pa ne znam da li mi stvara problem taj gcc jer je u sklopu Code Blocksa, odnosno da li mogu da instaliram gcc na nacin kao vi ,iako gcc imam u CodeBlocksu? Meni prikaze u terminalu u Visusal Studiu i rez i sve , ali ne pokrene mi uopste launch.json fajl.Hvala unaprijed.

    • @MilanTair
      @MilanTair  2 роки тому

      Vi u suštini imate instaliran gcc i gdb kroz neki drugi paket softvera. Konkretno kroz CodeBlocks, kako ste naveli. Važno je samo da koristite sve iz istog paketa. Možete koristiti i taj GCC iz CB, ali onda neka bude i linker i compiler i debugger i sve iz CB. Nemojte mašati, jer pitanje d ali su build-ovi kompatibilni i da li će dati dobar executable na kraju. Ako Vam radi samo sa ručnim prevođenjem u terminalu, radite tako. Ovo sa launch.json i task.json Vam u suštini ne treba. To sam pokazao za one koji se teže snalaze u terminalu, pa da im VSCode pomogne da automatizuju build. Ako Vam radi tako da sami prevodite i linkujete u terminalu pre pokretanja, koristite tako. Sasvim je u redu.

    • @vladanlazarevic3058
      @vladanlazarevic3058 2 роки тому

      @@MilanTair Recimo kada napisemo program "cao", ovo mi izbaci u terminalu : PS C:\Users\vlado\Desktop\RAD> & 'c:\Users\vlado\.vscode\extensions\ms-vscode.cpptools-1.9.8-win32-x64\debugAdapters\bin\WindowsDebugLauncher.exe' '--stdin=Microsoft-MIEngine-In-pysf4v0t.d3a' '--stdout=Microsoft-MIEngine-Out-0zpjnzbv.r5z' '--stderr=Microsoft-MIEngine-Error-4vrm4xpc.cc3' '--pid=Microsoft-MIEngine-Pid-t1wswqy1.0ga' '--dbgExe=C:\Program Files\CodeBlocks\MinGW\bin\gdb.exe' '--interpreter=mi'
      cao
      PS C:\Users\vlado\Desktop\RAD> Da li ovo znaci da mi radi debugger i compiler?

    • @vladanlazarevic3058
      @vladanlazarevic3058 2 роки тому

      Jer u dijelu RUN i DEBUG u Visual Studiu vama u vrhu stoji zelena strelica gdje pise "gcc.exe-Build" a meni u tom dijelu pise "no configuration"

  • @urosbaljak2749
    @urosbaljak2749 3 роки тому

    kako da update-jtam include path ?

    • @MilanTair
      @MilanTair  3 роки тому

      Imate u launch.json podešavanju command line arguemnte prevodioca u kojem uključujete I ili l (zavisno da li gađate samo include path ili i library path). To sam pokazao u kansijem snimku o radu sa bibliotekama.

  • @urosbaljak2749
    @urosbaljak2749 3 роки тому

    samo da pitam kako je nemam gcc ?

    • @MilanTair
      @MilanTair  3 роки тому

      Da li ste putanju ka bin direktorijumu MinGW stavili u Environment PATH promenljivu?

    • @urosbaljak2749
      @urosbaljak2749 3 роки тому

      @@MilanTair nema veze sada sam sve dobro namestio hvala na brzom odgovoru.

    • @necikaa
      @necikaa Рік тому

      @@urosbaljak2749 kako si namestio?

  • @techman685
    @techman685 3 роки тому

    I u mene isto neće da se otvori a uradim sve isto

    • @MilanTair
      @MilanTair  3 роки тому

      Kopirajte u komentar ceo ispis iz konzole u kojem piše tačno koja je greška. Takođe, da li ste pregledali da Vam launch.json izgleda dobro i da ste dobro instalirali GCC kao Administrator na sistemu?

  • @urosbaljak2749
    @urosbaljak2749 3 роки тому

    nego imam gdb

    • @MilanTair
      @MilanTair  3 роки тому

      To je debuger. Trebaće Vam za debugging deo kada dođete do te lekcije.