Thread overview
C++ değişken tür ve uzunlukları hakkında
Oct 17, 2017
cos00kun
Oct 17, 2017
kerdemdemir
Oct 17, 2017
cos00kun
Oct 17, 2017
cos00kun
Oct 17, 2017
erdem
Oct 17, 2017
cos00kun
October 17, 2017

Anladığım kadarıyla data binary, Bunları memcpy ile kendi veri yapına alabilirsin.

struct Erdem
{
uint16 id;
int8 classInfo;
float collisionRadius;
int hitpoints;
}

int8* data;//Datayı networkden veya dosyadan okuduğunu varsayıyorum.
Erdem e;
memcpy( &e, data, sizeof(Erdem));

Bu networking'de çok yapılan bir şeydir. Örneğin Ethernet protokolünün header'ı sabit uzunlukda ve içerdiği türler sabittir. "memcpy" ile network'den alınan data direk hafızada kullanıcının veri yapılarına kopyalanır.

Eğer bir değişken iki tane altçizgiye sahipse bu derleyicinin tanımladığı bir değişkendir çok derinlere indiysen kodu incelerken o zaman görmüşsündür. Tabi "__" isimli değişkenleride kullanıcıda verebilir ama hem okunulmaz hemde derleyicinin isimleri ile karışabilieceğinden tavsiye edilmez.

Diğer INT16,INT32, uint32 gibi değişkenler derleyiciler veya bazen kütüphaneler(veya kullandığın projede kullanıcı tarafından) tarafından tanımlanmış tür tanımlarıdır. Bunların sebebi int,double gibi değişkenlerin boyutunun sistemden sisteme değişme olasılığıdır. Fakat bir değişken INT16 olarak tanımlanmışsa onun boyutunun 16 bit olması bekleriz. Böylece bir ara katman eklenip değişken boyutları genellenmiş olur.

Saygılar
Erdem

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 17, 2017

Merhabalar

diyelimki elimizde şöyl e bir bilgi var ve elimizde buna göre tasarlanıp yazılmış bir dosya var

Field **** Data Type **** Width (in bytes)
id unsigned 16-bit integer 2
classInfo[] byte[8] 8
collisionRadius single-precision 32-bit floating point 4
hitpoints Signed 32-bit integer 4

ve bu yapınında daha önceden C++ ile yazılan bir dosyaya ait olduğunu biliyoruz..

Soru1) Bunları C++ dilinde hangi veri türlerine eşitleyebilirim ??
Soru 2) Ayrıca C++ de bildiğimiz veri türleri yanında INT16 , __16int, INT16MAX v.s.gibi sıklıkla rastladığım türler ve bunların yani altçizgili olanlar vesaire nedir nasıl kullanılır ?

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 17, 2017

Öncelikle teşekkürler.. umarım D sitesinde fazlaca C++ konuşarak bilgi dağınıklığı yaratmıyorumdur..
Kerdemderim hocam peki burda yazdığımız tip uygunluğu sağlanıyorsa ve byte karşılığıda istenene denk ise her türlü tipi kullanabilirmiyiz ?
ben bile ne yazdığımı anlamadım o yüzden açıklamaya çalışayım; :)

örneğin;
hitpoints Signed 32-bit integer 4 olan kısımda 4 bytlık işaretli integer işaret ediliyor bu durumda ben direk int türünü kullansrak dosyadan okuma yapsam bu bir sorun teşkil edecekmidir ?

Ali hocam inanırmısınız işten çıkıp eve gelmeden önce sizin verdiğiniz linki bulmuştum bende.. Ancak acemiliğimi maruz göreceğinizi umut ederek; aslında benim tam olarak öğrenmek istediğim şey hemen üst satırda yazdığım konu yani eğer dosyaya daha önceden "Signed 32-bit integer" olarak kaydedilmiş bir veriyi ben normal "int" olarak okutacaksam işte bahsettiğim birdolu altçizgili değişik veri tiplerini kullanmama gerek kalırmı ? daha specifik örnek ise "__int16" yerine "short" olarak kullanabilirmiyim dir sonuçta ikisiylede işaretli ve 16 bit veri okunulabiliyor gibi..
dahada açıkçası https://pmc.editing.wiki/doku.php?id=falcon4:file_formats:ct_file burdaki yapıyı dosyadan C++ ile okutmak amacım

Değerli bilgilerinizle bayağı aydınlandım sağolun varolun..

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 17, 2017

umarım D sitesinde fazlaca C++ konuşarak bilgi dağınıklığı yaratmıyorumdur..

Alıntı (acehreli):

>

Hayır ama bazılarımız D'yi daha rahat bulduğumuzdan C++ ile zorlandığına üzülüyoruz. ;)

Ali hocam az kaldı D diline gelmeme :) geçen sene burada sizinle ilk taanıştığımızda yazmıştım öncelikle içimde ukte olarak kalan C++ dilini öğrenecektim ve açıkçası uzman olmasamda bayağı derinlere indim sayılır..
D dili ise aralarda bakıp uzak kalmamaya çalıştığım ve sizin sayenizde sevdiğim bir dil oldu.. Ancak hala çok yavaş gelişiyor bildiğim kadarıyla ve hala directX D diline tam olarak entegre olabilmiş değil.. işin birde benim için Arayüz kısmı varki D dilindeki durumu hakkında en ufak bir fikrim bile yok.. oysa texboxlar buttonlarlada en azından biraz oynayabilmeliyim..

Aslında bi ara D dili son günlerde nerelerde geziyor biraz bahsetseniz çok mutlu olacağım.. Ayrıca yeni (gerçi artık eskidi) işinizde D dilini kullanmanız sebebiyle geçen süreçte D dili hakkında olumlu ve olumsuz düşüncelerinizi paylaşırsanız buda çok sevindirici olacaktır..
sevgiler saygılar...

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 17, 2017

Alıntı (cos00kun):

>

işin birde benim için Arayüz kısmı varki D dilindeki durumu hakkında en ufak bir fikrim bile yok.. oysa texboxlar buttonlarlada en azından biraz oynayabilmeliyim..

Görsel programlar için Gtkd kütüphanesi var.

Gtkd ile merhaba dünyü (http://www.erdem.tk/gtkd/merhaba-dünya.html)

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 17, 2017

erdem hocam konulara çokta uzak değilim burda yazılanları çok katılamasamda şimdilik uzaktan takip ediyorum.. Ancak benim sorunum ingilizceyle ilgili zira neredeyse D dili kütüphaneleri ile ilgili bırakın Türkçe kaynağı doğru dürüst ingilizce kaynaklara bile rastlanmıyor(en azından benim anlayabilme kriterlerim için) ... sizin yazınız olmasa Yotube videoları dahil 2 tane bile Gtkd ie ilgili video tutorial bulamassınız :)

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 17, 2017

C++11'den beri standart olarak uint16_t ve arkadaşları da var:

http://en.cppreference.com/w/cpp/types/integer

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 17, 2017

Alıntı (cos00kun):

>

umarım D sitesinde fazlaca C++ konuşarak bilgi dağınıklığı yaratmıyorumdur..

Hayır ama bazılarımız D'yi daha rahat bulduğumuzdan C++ ile zorlandığına üzülüyoruz. ;)

Alıntı:

>

hitpoints Signed 32-bit integer 4 olan kısımda 4 bytlık işaretli integer işaret ediliyor bu durumda ben direk int türünü kullansrak dosyadan okuma yapsam bu bir sorun teşkil edecekmidir ?

Pratikte bir şey olmaz ama teoride çok yanlış olur çünkü C ve C++ dilleri int'in kaç bitlik olduğunu belirlemez.

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 17, 2017

Alıntı (cos00kun):

>

D dili [...] hala çok yavaş gelişiyor bildiğim kadarıyla

Yeni kuralların eklenmesi yavaş oluyor. (Alıma gele yeni bir örnek, 'static foreach'.) Ama başka konularda gelişim devam ediyor: standart kütüphane, hata giderme, vs.

Alıntı:

>

hala directX D diline tam olarak entegre olabilmiş değil

O konuda bilgim yok ama örneğin şu proje Mayıs'ta güncellenmiş:

https://code.dlang.org/packages/directx-d

Ama "olabilmiş" deyince öyle bir amacı varmış da ulaşamıyormuş gibi anlaşılıyor. DirectX bildiğim kadarıyla yalnızca Microsoft ortamı için. Öyle özel bir kütüphaneyi D standart olarak önemsemeyecektir ama üçüncü şahıslar (örneğin, sen ;) ) gerek duyuldukça geliştireceklerdir.

Alıntı:

>

birde benim için Arayüz kısmı

gtkd'den başka web arayüzü olarak da vibe.d gibi kütüphaneler kullanılabilir. Doğrusu, bu tür ihtiyaçların standart kütüphane tarafından giderilmemiş olması güçlük oluşturuyor ama ne yapalım...

Alıntı:

>

D dili son günlerde nerelerde geziyor biraz bahsetseniz çok mutlu olacağım

Fazla değişiklik yok. Çok kullanışlı bir dil olmaya ve kullananlara üstünlük sağlamaya devam ediyor. Bütünüyle D kullanan firmalar yanında bazı işlerini D'de yapanlar da var:

https://dlang.org/orgs-using-d.html

D'yi bırakan firma duymadım. Örneğin, geçen ayki D meetup'ımızda bizi konuk eden AdRoll yıllardır data scienc konusunda D'den yararlanıyor; kendilerine sorduğumnda D'yi çok severek kullandıklarını söylediler. İşin ilginci, AdRoll'dan ayrılan Benoit Netflix'e geçmiş ve orada da D kullandırmaya başlamış. Geçenlerde de Netflix'in D kullanımı ile ilgili bir blogları yayınlanmıştı.

Alıntı:

>

D dilini kullanmanız sebebiyle geçen süreçte D dili hakkında olumlu ve olumsuz düşüncelerinizi paylaşırsanız buda çok sevindirici olacaktır

Şu andaki işimde günlük olarak Go kullanıyorum ama D kodumuza da biraz karıştığım oluyor. D her düzeyde harika: üst düzeyde kolaylık, gerektiğinde alt düzeyde sihirbazlık, vs. Go ise bir iki hafta küfür ede ede kodladıktan sonra beklentilerini azaltmayı öğrenerek mutlu olduğun bir dil. Yukarıda da değindiğim kütüphane konusunda Go'nun durumu çok daha iyi. Örneğin, herkes net/html pakedini kabul etmiş, gin-gonic gibi bir sürü başka paket onun üzerine kurulmuş, vs. Kısa bir aramadan sonra hangi pakedin herkes tarafından yeğlendiğini anlayıp kullanmaya başlıyorsun.

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]