1 / 10

Süsteemprogrammeerimine keeles C ja C#

Süsteemprogrammeerimine keeles C ja C#. Kaheksas loeng. Sisend väljund eri C-des. printf versus cout versus Console.WriteLine printf(“Minu number %d <br>”, 7); cout &lt;&lt; “Minu number “ &lt;&lt; 7 &lt;&lt; ´<br>´ ; Console.WriteLine(“Minu number {0}”,7); sarnasused teevad sama asja erinevused

bertha
Download Presentation

Süsteemprogrammeerimine keeles C ja C#

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Süsteemprogrammeerimine keeles C ja C# Kaheksas loeng

  2. Sisend väljund eri C-des • printf versus cout versus Console.WriteLine • printf(“Minu number %d \n”, 7); • cout << “Minu number “ << 7 << ´\n´ ; • Console.WriteLine(“Minu number {0}”,7); • sarnasused • teevad sama asja • erinevused • printf, writeline – funktsioonid • cout – klass, << operaator

  3. cout ja printf kasutamine • #include <stdio.h> • #include <iostream.h> • cout, cerr, clog, cin – neli klassi • cout – caracter output, standardväljund • cerr – error output, veateated • clog – logiväljund • cin – standardsisend • KÕIKI SAAB REDIRECTIDA (paipida)

  4. FILE - 1 • kirjeldatud <stdio.h> void main() { FILE *fp; if ((fp=fopen("c:\\Jabur.txt", "r")) != NULL) printf(“Avasime\n"); else printf(“Ei avanud\n"); }

  5. FILE – 2 • fp=fopen(“failinimi”, “r” või “w”); • fclose(fp); • while(symbol = fgetc(fp)) != EOF) {...} • char fgetc(fp) • fputc(fp, char) • fgets(char x, int limit, FILE *fp); • fputs(const char x, FILE *fp); • Failide juurde tuleme pikemalt tagasi

  6. Mälu ja sellega toimetamine • Stäkk ja Heap (pinu ja kuhi) • Stäkk – LIFO struktuur, kuhu pannakse • funktsiooni tagasipöördumisaadress • parameetrite väärtused • lokaalsed muutujad • tagasiteel puhastatakse • Heap on mälupiirkond • süsteem haldab • saab mälu küsida, vabastada jne • vastutad ise

  7. Mälu eraldamine stäkist • Automaatselt (funktsioonid) • klass x = klass(...); • void * v = _alloca(int suurus); • MÄLU VABASTATAKSE AUTOMAATSELT!

  8. Mälu eraldamine kuhjast • malloc(int suurus); // mitte int vaid size • calloc(int mitu, int suurus); • _expand(void *, int suurus); • realloc(void *, int suurus); • new operaator! • MÄLU VABASTAMINE SINU KOHUSTUS!

  9. Mälu eraldamise ja vabastamise viise • new ja delete: • klass x = new klass(...); • delete x • malloc ja free • char *buff = (char*)malloc(2000); • free(buff);

  10. Muid mälu vabastamise tehnikaid • COM • igal klassis on meetod, mis loendab viitamisi • kui viitamised otsas, laseb ise end maha • .NET • loendab viitamised • koristaja koristab • remoting ja sponsorid • IDISPOSABLE

More Related