Ne hata veriyordu da artık vermiyor?
Salt kapsam parantezi de oluyor mu yoksa with şart mıymış?
{
// ...
}
Ali
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]
February 23, 2013 Kod Optimizasyonu Hakkında | ||||
---|---|---|---|---|
| ||||
Posted in reply to Talha Zekeriya Durmuş (zekeriyadurmus) | Ne hata veriyordu da artık vermiyor? Salt kapsam parantezi de oluyor mu yoksa with şart mıymış?
Ali -- |
February 23, 2013 Kod Optimizasyonu Hakkında | ||||
---|---|---|---|---|
| ||||
Posted in reply to Talha Zekeriya Durmuş (zekeriyadurmus) | İstersen kodu bozuk haliyle github'a koy öyle bakalım. Ali -- |
February 24, 2013 Kod Optimizasyonu Hakkında | ||||
---|---|---|---|---|
| ||||
Posted in reply to Talha Zekeriya Durmuş (zekeriyadurmus) | Öncelikle şablonlar(templates) derleme anı olanaklar ve sanırım burada iyice kafamızı karıştıracaklar. Yani bir miktar faydalanabiliriz, mesela benzer sınıf kurulumlarında (şu Commands sınıfında) olabilir. Gördüğüm kadarıyla miras yoluyla defalarca alt sınıflara kurulacak bir yöntemimiz de var. Başka bir yöntem de gördüğüm kadarıyla stack ve getItFunctions isminde diziler var. İşte kilit nokta sanki burada. Yani biz önce projeden bağımsız öyle bir Yığın/Yığıt/Stack, adına her neyse bir yapı kurmalıyız ki istediğimiz verileri gönderelim (push), oradan çekip alalım (fetch). Bu yığın(stack) öyle bir şey olsun ki önce basit küçük bir yerde işimizi görecek sadelikte gerçeklensin. Yani temel işlevleri ve değişkenleri ile birlikte bunu hemen yapabiliriz. Hatta forumda bolca örneği var. Sonra özelleştirerek (miras alarak) istediğimiz diğer yerlerde kullanalım. Ne bileyim komutların bulunduğu işlevlerin adreslerini tutan işaretçiler olabilir ve/veya belki bu bağlı liste gibi bir şey olur. Bilemiyorum... An itibariyle projedeki kodları anlamaya çalışıyorum, elimden geldiğince destek olmaya çalışacağım... -- |
February 24, 2013 Kod Optimizasyonu Hakkında | ||||
---|---|---|---|---|
| ||||
Posted in reply to Salih Dinçer | Bak şurada bir şey buldum belki ilgini çeker: http://ddili.org/forum/thread/1013 Enum'ları şablonlar ile okuyorsun. Öyle bir şey yaparsın ki enum'ların verdiği sıkıntıdan kurtarıp bir arayüz (interface) yazarsın. Ama ön tarafta yine enum'lardan faydalanırsın. Bunun içinde arayüzden gelen verileri enum'a döndüren, onu istediğimiz gibi evirip çeviren ve bizim anlayacağımız hale (insancıl) getiren bir şablon yazarız. Bu belki ileride gerekecek çünkü işler karılıyor gibime geliyor; uyarmadı deme...:) -- |
February 24, 2013 Kod Optimizasyonu Hakkında | ||||
---|---|---|---|---|
| ||||
Posted in reply to Salih Dinçer | Alıntı: >An itibariyle projedeki kodları anlamaya çalışıyorum, elimden geldiğince destek olmaya çalışacağım... Çok teşekkür ederim Salih hocam :) Githubta sizi ekledim bu arada. Alıntı: >Başka bir yöntem de gördüğüm kadarıyla stack ve getItFunctions isminde diziler var. İşte kilit nokta sanki burada Hocam stack dizisini kaldıracağım. Onun yerine L1, L2, L3 gibi register niyetine kullanmak için değişkenler oluşturdum. Alıntı: >Bu belki ileride gerekecek çünkü işler karılıyor gibime geliyor; uyarmadı deme... :) :) İşler gerçekten dediğiniz gibi karışıyor 1.0 da her şey sınıflar halinde olduğu ve 2.0 ı yapacağım için hız konusunda çok da önem vermediğim için karışmadan halletmiştim :D Ama bu şekilde hatalar çıkarması da bu işin tuzu biberi bence :) Olaya ayrı bir tat katıyor. Web tasarımdan çok sıkıldım mesela çünkü bir süre sonra hep aynı şeyleri tekrarlıyorsun. Bunda ise yaptığın yapıyı daha iyi kılmak için sürekli uğraşıyorsun :) Alıntı: >Bak şurada bir şey buldum belki ilgini çeker: http://ddili.org/forum/thread/1013 İnceleyeceğim hocam. Şu an için D de alışamadığım yapılar var. Templateler gibi. Ama acele etmiyorum. Herşeyin bir zamanı var :) Göz aşinalığını sağlayamadım henüz. Zekeriya -- |
February 24, 2013 Kod Optimizasyonu Hakkında | ||||
---|---|---|---|---|
| ||||
Posted in reply to Talha Zekeriya Durmuş (zekeriyadurmus) | Salih hocam, Ali hocam bu çöp toplayıcılar başıma bela oldu :)
GC yi kapatıp direk val adresini atınca ise değişken hafızadan siliniyor :(
Bunun için ne yapmak gerek? Zekeriya -- |
February 24, 2013 Kod Optimizasyonu Hakkında | ||||
---|---|---|---|---|
| ||||
Posted in reply to Talha Zekeriya Durmuş (zekeriyadurmus) | Bize tek dosya içinde çalıştırılabilecek main() işlevi ile birlikte bir örnek hazırlayabilmen mümkün mü? -- |
February 24, 2013 Kod Optimizasyonu Hakkında | ||||
---|---|---|---|---|
| ||||
Posted in reply to Salih Dinçer | Alıntı: >Bize tek dosya içinde çalıştırılabilecek main() işlevi ile birlikte bir örnek hazırlayabilmen mümkün mü? Deniyorum ama aynı şartları sağlayamadım şu an :( Değişkenler hafızadan silinmiyor. Denemeye devam ediyorum hala eğer yapabilirsem atarım. Zekeriya -- |
February 24, 2013 Kod Optimizasyonu Hakkında | ||||
---|---|---|---|---|
| ||||
Posted in reply to Ali Çehreli (acehreli) | Alıntı: >Sorunun çöp toplayıcı ile ilgili olduğundan emin misin? Sanırım çöp toplayıcılar içerisine girmiyor bu sorun. Local bir işlevde tanımlanan değişkenin adresini alıp void* e atıyorum. O işlev bittikten sonra o değere erişmeye çalışıyordum. Ama o işlev bittikten sonra o değişken hayatını kaybediyor. Bunu da çöp toplayıcılar yapıyor diye düşündüm. Alıntı: >Dizi varlığını neden sonlandırsın ki zaten. Sanırım yanlış söyledim :) Dizi varlığını sonlandırmıyor. Varlığını sonlandıran diğer örnek çalışmadığı için bir diziye attım ve bu halinde dizi global olduğu için sonlanmıyor ve veri silinmiyor. Alıntı: >Aynı nedenden, this.val'e geçici bir değişkenin adresini vermen de yanlış olmuş. Acaba parametre 'ref bool' mu olmalı. Tabii o zaman bile çağrılan yerdeki bool'un uzun süre yaşayacağını garanti etmen gerekiyor. Örneğin o da yerel bir değişken olamaz. Ref bool olduğu zaman OP(123) gibi bir değer gönderemiyorum. Onun yerine önce int d=123; OP(d) yapmam gerekiyor. Böyle bir tanımlama da yapmak istemiyorum. Şunu düşünüyorum sonuçta 123 değeri hafızada bir yerde duruyor. Oluşturulmuş 1 kere silinmesin hafızadan. Hep dursun. Sanırım bu işlemler için hafıza yönetimiyle ilgili bir sınıf yazmak gerekecek. Kendi çöp toplayıcım, veri yapımı oluşturmalıyım. Zekeriya -- |
February 24, 2013 Kod Optimizasyonu Hakkında | ||||
---|---|---|---|---|
| ||||
Posted in reply to Talha Zekeriya Durmuş (zekeriyadurmus) | Sonunda başardım :) Ve soruna malloc ile yer açarak çözüm buldum.
Konsol çıktısında ilk verinin değeri hatalı gelirken, 2.verinin değeri hatasız bir şekilde geliyor Not: Olayın daha iyi anlaşılması için kodda 1-2 değişiklik yaptım. Zekeriya -- |