Jazyk C v linuxe

Sekcia: Programovanie 20.02.2007 | 11:32
miso   Návštevník
Dobry den,

ked si donesiem domov zdrojaky ktore som napisal v skole vo windowsovom Cecku(Borland C++ 3.1), tak v linuxe ich nemozem ani za svet prelozit.
Moja otazka je ci nepoznate nejaky nastroj v linuxe, pomocou ktoreho by som ich mohol uspesne skompilovat aj bez upravy zdrojakov.

Taktiez nechapem, ze vo win sa standardny vystup zapisuje takto:

printf("halabala");

a v knihe kde sa programuje pod unixom takto:

cout<<"halabala";

Bol by som vdacny keby mi to niekto vysvetlil. Diky
    • Re: Jazyk C v linuxe 20.02.2007 | 11:51
      Avatar nardew debian  Používateľ
      ake chyby to vypisuje??

      cout sa pouziva v c++, aj ked aj printf v c++ fungovat bude, ale cout je mnohokrat lepsi
    • Re: Jazyk C v linuxe 20.02.2007 | 11:58
      Avatar Igor Hlina Mac OS ML  Používateľ
      Ak si pisal podla ANSI C, tak sa zdrojaky musia prelozit na roznych platformach s 98% uspesnostou. napr. ako pises "printf("bla bla bla");" vykonava uplne to iste pod DOS, W98, WXP a samozrejme Linux. Postni sem vypisy z toho kompilovania.
      while (2*2 == 5) { echo "If you're reading this, something is definitely wrong"; }
      • Re: Jazyk C v linuxe 20.02.2007 | 12:27
        miso   Návštevník
        Napriklad program:

        #include<stdio.h>
        #include<conio.h>
        void main(void)
        {
        int faktorial,vypnut,cislo,mensie,rozdiel;
        do
        {
        clrscr();
        printf("Zadaj cislo:");
        scanf("%d", &cislo);

        faktorial=cislo;
        mensie=cislo;
        do
        {
        mensie=mensie-1;
        faktorial=faktorial*mensie;
        }
        while(mensie!=1);
        printf("\n%d!=%d",cislo,faktorial);

        rozdiel=cislo;
        while(rozdiel>1)
        {
        rozdiel=rozdiel-2;
        }
        if (rozdiel==1)
        {
        printf("\n\nCislo %d je neparne", cislo);
        }
        else
        {
        printf("\n\nCislo %d je parne", cislo);
        }
        printf("\n\nPrajete si spustit znovu ? A/N");
        vypnut=getch();
        }
        while ((vypnut=='a')||(vypnut=='A'));

        }



        Chyby:

        0006.CPP:3:18: error: conio.h: No such file or directory
        0006.CPP:41:2: warning: no newline at end of file
        0006.CPP:4: error: '::main' must return 'int'
        0006.CPP: In function 'int main()':
        0006.CPP:9: error: 'clrscr' was not declared in this scope
        0006.CPP:37: error: 'getch' was not declared in this scope
        • Re: Jazyk C v linuxe 20.02.2007 | 15:05
          Avatar Miroslav Bendík Gentoo  Administrátor
          odporucam skusit ncurses ;)
          • Re: Jazyk C v linuxe 20.02.2007 | 16:26
            miso   Návštevník
            mohol by si pls o tom napisat viac?
        • Re: Jazyk C v linuxe 20.02.2007 | 20:04
          Avatar uid0 Debian  Používateľ
          ja ti odporucam zamysliet sa nad sposobom urcovania parnosti (modulo nic?) a pozriet sa co robi tolower v ctype.h (to k tej poslednej podmienke)
          Debian. apt-get into it…
    • Re: Jazyk C v linuxe 20.02.2007 | 12:14
      Avatar nahnevaný mladý muž gNewSense  Používateľ
      typujem ze problem bude v

      #include <conio.h>
      • Re: Jazyk C v linuxe 20.02.2007 | 12:37
        Avatar nahnevaný mladý muž gNewSense  Používateľ
        kokso vnimate tu intuiciu, porovnajte si casy
        • Re: Jazyk C v linuxe 20.02.2007 | 16:29
          skywaker   Návštevník
          conio.h v linuxe ti nepojde


          • Re: Jazyk C v linuxe 20.02.2007 | 16:30
            skywaker   Návštevník
            odstran clrscr();
            a tiez conio.h malo by ti to ist ...

            skus "cc" alebo "gcc"
            • Re: Jazyk C v linuxe 20.02.2007 | 16:33
              skywaker   Návštevník
              a namiesto vypnut=getch();
              napis cin >> vypnut;

              alebo tak nejak...
              • Re: Jazyk C v linuxe 20.02.2007 | 20:00
                Avatar uid0 Debian  Používateľ
                to je c++
                Debian. apt-get into it…
    • Re: Jazyk C v linuxe 20.02.2007 | 17:01
      WlaSaTy   Návštevník
      to je fajn ze SW balik Borland C++ 3.1 obsahuje aj klasicky jazyk C (bez plusplus) ale nie je to priliz velky skok z c do c++ ak potrebujes len par zadani?

      typnem si ze by stacilo v tom zdrojaku vyhodit dva spomenute riadky a namiesto getch pouzit makro getc(stdin) a vyriesit ten hlavny cyklus :)
      • Re: Jazyk C v linuxe 20.02.2007 | 20:38
        skywaker   Návštevník
        Odporucam pozriet si knihu od Kerighan + Richie Programovanie v C

        je naozaj super na zaklady v C......
    • Re: Jazyk C v linuxe 26.02.2007 | 18:54
      Tom@sQo   Návštevník
      akoo sry, ale sa mi akosi zda, ze si niektori pletiete c a c++ a veci ohladom tych jazykov :) taaakze
      1) printf je definovane v stdio.h(STandartInputOutput)
      aa nema s OOPckom nic spolocneho :)
      2) std::cout(cize z menneho priestoru std) ma viac spolocne s OOPckom :), ze definovane v iostreame-je to prikaz typicky pre c++ :)


      aa este jak som videl odporucania na knihy, podla mna je ucit sa v dnesnej dobe Ccko riadna blbost(podla mna, nehovorim, ze to je pravda, je to len moj nazor, cize ziadne hadky ;-]), nakolko je dost zle us len koli tomu, ze nepodporuje OOPcko, cili je absolutne nevhodne pre vacsie projekty (za vacsi projekt povazujem projekt ktoreho zdrojaky zaberaju aspon 2kB :-])
      este by som chcel odporucit knihu Rozumime C++ od Koeniga a Moo, ktora je asi najlepsia zo vsetkych, ktore som mal moznost precitat ;)
      • Re: Jazyk C v linuxe 26.02.2007 | 19:12
        Avatar uid0 Debian  Používateľ
        > cili je absolutne nevhodne pre vacsie projekty (za vacsi projekt povazujem projekt ktoreho zdrojaky zaberaju aspon 2kB :-])

        buuuuuuuuuuuuuu. a ihned si zmaz takmer vsetok software z PC!
        Debian. apt-get into it…
      • Re: Jazyk C v linuxe 26.02.2007 | 21:09
        Avatar Igor Hlina Mac OS ML  Používateľ
        Kernel je 98% v C a zvladli to.
        while (2*2 == 5) { echo "If you're reading this, something is definitely wrong"; }
        • Re: Jazyk C v linuxe 26.02.2007 | 22:07
          Avatar uid0 Debian  Používateľ
          ani nespominaj, ze ten zvysok je assembler lebo ho trafi :)
          Debian. apt-get into it…
          • Re: Jazyk C v linuxe 26.02.2007 | 22:27
            WlaSaTy   Návštevník
            nezabudaj na interny makrojazyk pouzivany v makefile :-)