RE: [Linux-programlama] 64 bit programlama

---------

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

From: Mehmet Duran (mehmetd@kablonet.com.tr)
Date: Thu 30 Nov 2006 - 23:39:03 GMT


Fuat bey,

Oncelikle, sizeof bir method, fonksiyon degil, operatordur ve bir C/C++
derleyicisinden digerine calistigi sisteme gore degisir. sizeof operatoru
parametre olarak aldigi degiskeni, struct olsun, pointer olsun, diger gercek
veri tipleri olsun, toplam hafizada o kapladigi yeri byte cinsinden geri
dondurur.

Ikinci olarak ise, burada genelde sorulan detay sorulara RTFM, yani "Read
The Fine Manual", yani turkce olarak "Su Guzel Kullanma Kilavuzunu Okur
musun Guzel Kardesim", seklinde cevap vermek yerine, biliyorsam kisaca
cevabi verip, altina nerden buldugumu ve hatta google'a ne sekilde sordugumu
da ekleyerek cevap veriyorum fakat, allah askina, burda teker teker butun
adimlari soracaginiza, biraz okusaniz daha guzel olmaz mi? Burda arkadaslar
size "sizeof" kullanin demeyi gecmis, ornek bir kod bile gostermis. Siz buna
da "sizeof ne?" diye karsilik vermissiniz, operator denildigi zaman da
"operator ne?" niye demeyesiniz?

Trilyonlarca, bir Internet dolusu kaynak dururken siz neden bunlari
okumaktan cekinip buraya soruyorsunuz? Ingilizce mi bilmiyorsunuz yoksa?
Turkce kaynak sikintisi mi derdiniz? Bu maile cevap gelip de sonucunu
ogrenene kadar google acip bakabilirdiniz. Misal ben oyle yaptim. Bakiniz
sizeof'dan da bahseden hatta konu hakkinda cok degerli bilgilere
ulasabileceginiz, turkce bir dokumana eristim:
http://www.csharpnedir.com/makalegoster.asp?MId=612

Lutfen, RTFM'leyelim, RTFM'lemeyenleri uyaralim.

Mehmet Duran

-----Original Message-----
From: linux-programlama-bounces@liste.linux.org.tr
[mailto:linux-programlama-bounces@liste.linux.org.tr] On Behalf Of Fuat
Altun
Sent: Wednesday, November 29, 2006 8:08 PM
To: linux-programlama@liste.linux.org.tr
Subject: RE: [Linux-programlama] 64 bit programlama

Teşekkürler.

Fakat "taşınabilir kod yazabilmek için
sizeof() ve kütüphanelerinide tanımlanmış olan veri tiplerine bağlı kalın."
Kısmını biraz açarsanız sevinirim. Sizeof'u kodda nasıl kullanıcam ve hangi
kütüphanedeki veritipleri?

İyi çalışmalar

-----Original Message-----
From: linux-programlama-bounces@liste.linux.org.tr
[mailto:linux-programlama-bounces@liste.linux.org.tr] On Behalf Of Serkan
Kenar
Sent: Tuesday, November 28, 2006 12:28 PM
To: linux-programlama@liste.linux.org.tr
Subject: Re: [Linux-programlama] 64 bit programlama

Fuat Altun yazmış:
> Merhabalar,
>
> 64 bitlik ortamlarda programlama yapıldiginda veri tiplerinin uzunlugu
> degisiyormu?

Değişir. Aslında veri tiplerinin uzunlukları çok da tahmin edilebilir
değildir bu nedenle sizeof() operatörünü ve kütüphanelerde gelen veri
tiplerini kullanmanız gerekir.

Kullandığınız sistemlerde bu tiplerin boyutlarını merak ediyorsanız ufak
bir program yazarak öğrenebilirsiniz.

int main()
{
         printf("sizeof(char)=%d\n", sizeof(char));
         printf("sizeof(int)=%d\n", sizeof(int));
         printf("sizeof(long)=%d\n", sizeof(long));
         printf("sizeof(long long)=%d\n", sizeof(long long));
         return 0;
}

32-bit bir makinede aldığım sonuçlar:
sizeof(char)=1
sizeof(int)=4
sizeof(long)=4
sizeof(long long)=8

64-bit bir makinede aldığım sonuçlar:
sizeof(char)=1
sizeof(int)=4
sizeof(long)=8
sizeof(long long)=8

Yine de dediğim gibi, bu sonuçlar bağlı çalışma yapmak yanıltıcı ve
problemlere neden olabilir. Esas olarak taşınabilir kod yazabilmek için
sizeof() ve kütüphanelerinide tanımlanmış olan veri tiplerine bağlı kalın.

iyi çalışmalar,

_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama

_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

---------

Bu arsiv hypermail 2.1.2 tarafindan uretilmistir.