1 / 16

11. előadás (2004. április 27.)

11. előadás (2004. április 27.). Make utility math.h string.h time.h. 1. Make I. Forrásállományok együttes fordítására alkalmazott eszköz. A megadott fordítót használja. (gcc, g++...) Makefile . Források, header állományok, konstansok, változók, parancsok. Kiadott parancs: make. 2.

naava
Download Presentation

11. előadás (2004. április 27.)

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. 11. előadás (2004. április 27.) • Make utility • math.h • string.h • time.h 1

  2. Make I. Forrásállományok együttes fordítására alkalmazott eszköz. A megadott fordítót használja. (gcc, g++...) Makefile. Források, header állományok, konstansok, változók, parancsok. Kiadott parancs: make 2

  3. Make II. Használni érdemes, ha több file-unk van. A megadott függőségektől, feltételektől függően hajtódnak végre az utasítások. A változó neveknek illik utalni céljára. Mint konstans funkcionál, de feltételeken kívül megváltoztatható. Változó létrehozása: COMPILER = gcc Változó használata: $(COMPILER) 3

  4. Make III. Feltétel megadása: sajat.o: sajat.c v. sajat.o: sajat.c sajat.h gcc –c sajat.c v. $(COMPILER) –c $(SRC) Parancsokat tabulátorral kell kezdeni. 4

  5. Make IV. Az utasítás elé @ írva nem jelenik meg a szabványos kimeneten. @rm *.o Cimke megadás: Clean: @rm $(OBJ) 5

  6. Make V. PROGRAM_NEVE = nev RM = /bin/rm OBJ = sajat.o main.o SRC = sajat.c main.c COMPILER = gcc $(PROGRAM_NEVE): $(OBJ) $(COMPILER) -o $(PROGRAM_NEVE) $(OBJ) echo $? $@ $(OBJ): sajat.h $(SRC) $(COMPILER) -c $(SRC) clean: @$(RM) $(OBJ)

  7. math.h – matematikai függvények Matematikai eljárások függvényei és makrói vannak itt deklarálva. Trigonometrikus függvények: sin(double) cos(double) tan(double) asin(double) acos(double) ... Argumentumot radiánban kell megadni. 7

  8. Matematikai függvények 2. Egyéb mat. függvények: exp(double) – ex log(double) – ln(x) sqrt(double) - négyzetgyök floor(double)- x-nél nem nagyobb, legnagyobb egész szám fabs(double) - |x| abszolútérték 8

  9. Matematikai függvények 3. #include <stdio.h> #include <math.h> int main() { double a = 3.1415; double b = -1.0; printf("szinusz(360): %lf\n",sin(a)); printf("kószinusz(360): %lf\n",cos(a)); printf("absz értéke a -1: %lf\n",fabs(b)); printf("nem nagyobb egész szám: %lf\n",floor(a)); }

  10. String.h I. Karaktersorozatokat kezelő függvények vannak itt deklarálva. char *strcpy(char*, const char*) A második karaktersorozatot másolja az elsőbe. Visszatér vele. char *strcat(char*, const char*) A második karaktersorozatot az elsőhöz fűzi. Visszatér mutatójával. 10

  11. String.h II. Karaktersorozatokat kezelő függvények vannak itt deklarálva. char *strcmp(const char*, const char*) Összehasonlítja a két karaktersorozatot. Visszatér negatív, 0, pozitív (ha első nagyobb, mint második) size_t char *strlen(const char*) Visszatér a karaktersorozat hosszával. 11

  12. String.h III. #include <stdio.h> #include <string.h> int main() { char *t1; char *t2 = "alma"; t1 = (char*)malloc(strlen(t2)+1,sizeof(char)); printf("vissza: %s\n", strcpy(t1,t2)); printf("t1: %s\n", t1); printf("uaz: %d\n", strcmp(t1,t2)); return 0; }

  13. Time.h Dátummal és idővel kapcsolatos műveletekhez szükséges adattípusok és függvények vannak itt deklarálva. struct tm; tm_sec percet követő másodpercek tm_min órát követő percek Stb... 13

  14. time.h II. clock_t clock(void) Visszatérési érték a program kezdete óta eltelt processzor-idő. time_t time(time_t *tp) Visszatérési érték az aktuális naptári idő. double difftime(time_t t2, time_t t1) Visszatérési érték a t2 – t1 másodpercben. char *asctime(const struct tm *tp) A tp-ben tárolt időt karakterláncá alakítja adott formátumban. Size_t strftime(char *s, size_t max, const char *format,const struct tm *tm) Az fmt formátumleírás alapján s-be másolja a tm időt, mint egy karaktersorozatot. 14

  15. time.h III. #include <stdio.h> #include <time.h> int main() { struct tm *tm; time_t ts; char *t; t = (char*)malloc(21,sizeof(char));

  16. time.h IV. ts = time(NULL); tm = localtime(&ts); printf("Ido: %d:%d:%d\n", tm->tm_hour,tm->tm_min,tm->tm_sec); printf("Ido: %s\n",asctime(tm)); strftime(t,20,"%B %d. %H:%M:%S",tm); printf("Ido: %s\n",t); return 0; }

More Related