[linux-programlama] Re: C'de dosya okumada sorunlar

---------

From: Veysel Baydogan (vbdogan@gwu.edu)
Date: Mon 02 Jun 2003 - 17:26:05 EEST

  • Next message: Serdar Koylu: "[linux-programlama] Re: C'de dosya okumada sorunlar"

    Merhaba,

    bahsi gecen *alloc fonksiyonlari ISO/IEC 9899(E)/1999 spec'de (ki uretilen
    library'ler buna uymak zorundadir cunku ANSI-C spec'i kapsamaktadir kisacasi
    asil kaynak) '7.20.3 Memory Management Functions' basligi altinda
    tanimlanmistir ve realloc fonksiyonu ile bolumde (7.20.3.4) Description 3'de
    "If memory for the new object cannot be allocated, the old object is not
    deallocated and its value is unchanged." bir tanimlama getirmistir. Ama Serdar
    Koylu'nun belirtmis oldugu gibi kullanim kesinlikle hatali (ptr = realloc(ptr,
    2048) ) cunku 'kutsal kitap' spec derki "The realloc function returns a
    pointer to the new object (which may have the same value as a pointer to the
    old object), or a null pointer if the new object could not be allocated." yani
    eger obje verilen size kadar allocate edilemez ise NULL pointer return
    edecektir ve sizin eski ptr adresini geri kazanma ihtimali yoktur (yukaridaki
    gibi kullaniyorsaniz).

    >===== Original Message From Serdar Koylu <serdarkoylu@fisek.com.tr> =====
    >Selamlar..
    >
    >libc, kernelden "bellek bitti, tukendi, bak basinin caresine" gibi bir bilgi
    alirsa oyle olur. Ama Linux kerneli bunu soylememek icin elinden geleni yapar.
    Hatta, en az kullanilan programlari oldurur vs.
    >
    >Genel kaide olarak, gerek *alloc rutinlerinin, gerekse memset, memcpy, strcpy
    >gibi rutinlerin bir sekilde zapt'u rapt'a alinmasi, en azindan bir garbage
    >collector kullanilmasi tavsiye edilir. Oyleki, bilhassa development ve test
    >asamalarinda tamamen her seyi denetim altinda tutan, production surumunde ise
    >performans getirisi icin bunlardan ayiklanmis kodlarin kullanilmasi mantikli
    >olur. Isin basinda bunlarla kim ugrasacak derken, hata bulup duzeltmek icin
    10 >kat daha fazla ugrasmak gerekebilir..
    >

    Ayrica *alloc fonksiyonlari bilindigi uzere 'first fit', 'best fit' gibi
    algoritmalarla yazilma ihtimalleri var ve bu spec'de acik olarak
    belirtilmedigi icin library'i ureticeleri esnek davranabilmektedir ama bircogu
    'best fit' algoritmasi kullandiklari icin 'garbage collector' kullanma
    ihtiyaciniza gerek kalmayacaktir dolayisiyla performans degerlendirmesinde kod
    ayiklama durumuna dusmenize ayrica gerek yok.

    >Saygi ve sevgiler..
    >

    Saygilar.

    Veysel


  • Next message: Serdar Koylu: "[linux-programlama] Re: C'de dosya okumada sorunlar"

    ---------

    Bu arsiv hypermail 2.1.6 tarafindan uretilmistir.