Label adresi alınamıyor malesef.
goto yapılarını derleyici zamanında algılıyor yani bir pointerden dönen değer vs olmuyor veya bir labeli başka labele eşitleyemiyorsun
Zekeriya
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]
January 03, 2013 Hız sorunu | ||||
---|---|---|---|---|
| ||||
Posted in reply to Ali Çehreli (acehreli) | Label adresi alınamıyor malesef. goto yapılarını derleyici zamanında algılıyor yani bir pointerden dönen değer vs olmuyor veya bir labeli başka labele eşitleyemiyorsun Zekeriya -- |
January 03, 2013 Hız sorunu | ||||
---|---|---|---|---|
| ||||
Posted in reply to Talha Zekeriya Durmuş (zekeriyadurmus) | Alıntı (zekeriyadurmus): >Cevap yazdığınız için teşekkür ederim. Test ettiğim şey basit bir işlem.
i = 10000000;
|
January 03, 2013 Hız sorunu | ||||
---|---|---|---|---|
| ||||
Posted in reply to Talha Zekeriya Durmuş (zekeriyadurmus) | C'ye geçmek bu konu açısından çözüm olmaz çünkü D C'yi neredeyse bütünüyle içeriyor. C'de yapılan D'de de yapılır. Çalışma zamanında süre farkı da olmaz. (Not: gcc dmd'den daha deneyimli olduğundan onun ürettiği kod daha hızlı çalışabiliyor ama bu C ile D'nin farkından değil.) Ali -- |
January 04, 2013 Hız sorunu | ||||
---|---|---|---|---|
| ||||
Posted in reply to Talha Zekeriya Durmuş (zekeriyadurmus) | Öncelikle araştırma ve çalışmalarına hayran kaldığımı ifade etmek istiyorum...:) Bence C biliyorsun çünkü D bilen C'ye yabancı değildir. D gibi bir dil varken C kullanmak çok gerekli değil ama sen bilirsin. Biraz tuttuğunu koparan birine benzediğin için hemen vazgeçmemelisin. Bir çok şeyin çözümü var biliyorsun. Ama "imkansız diye bir şey yoktur" demek istemiyorum. Çünkü sayısız örneği var, mesela: İç içe iki döngü çalışırken, içteki bitmediği müddetçe dıştaki bitemez gibi... -- |
January 05, 2013 Hız sorunu | ||||
---|---|---|---|---|
| ||||
Posted in reply to Salih Dinçer | D ile C yapı olarak evet benziyor ama D dilini de öğrenmeye yeni başladım yani D dilini dahi tam olarak bilmiyorum :) Mesela static yapısıyla sınıfı çağırmadan alt değerlere erişebiliyormuşum. Birkaç kere C öğrenme girişimim oldu ama bir türlü IDE veya editör ayarlayamadım. Daha dün C için bilgisayarıma code:blocks, netbeans kurdum ama yine her zamanki gibi bir türlü çalıştıramadım zaten bu 2 ideyi de sevmiyorum. Şimdi ise şansımı eclipse'den yana deniyeceğim. Yine olmazsa windows8 kurarım bilgisayara sıfırdan bu programları kurmaya çalışırım. D dilinde yapma istediğim işlem aslında çok basit sadece label adresini bir değişkene yazacağım ve goto yaparken bu değişkendeki adrese gideceğim. C de bunu yapmak mümkün ama D dilinde
gibi bir kullanım yapamıyorum & ile veya & siz fark etmez işleme "yaz"ı atamıyorum. Belki bunu bildirirsek yeni sürümde eklerler yapılması zor bir şey olduğunu zannetmiyorum. Zekeriya -- |
January 05, 2013 Hız sorunu | ||||
---|---|---|---|---|
| ||||
Posted in reply to Ali Çehreli (acehreli) | Teşekkür ederim Ali hocam sizler olmasanız ne yapardım :) Vote ettim. İnşallah en kısa zamanda dile bu özellik de eklenir. Orada yazılana göre bu işlemi asm ile de yapmak mümkün ve örnek kod da yazılmış ama ASM bilmiyorum neyse artık öğrenmenin vakti geldi :) Zekeriya -- |
January 05, 2013 Hız sorunu | ||||
---|---|---|---|---|
| ||||
Posted in reply to Talha Zekeriya Durmuş (zekeriyadurmus) | Alıntı (zekeriyadurmus): >D dilinde yapma istediğim işlem aslında çok basit sadece label adresini bir değişkene yazacağım ve goto yaparken bu değişkendeki adrese gideceğim. C de bunu yapmak mümkün ama D dilinde
import std.stdio; auto ekranaYaz = &hello;
|
January 05, 2013 Hız sorunu | ||||
---|---|---|---|---|
| ||||
Posted in reply to Salih Dinçer | Şahsen denemedim ama aşağıdaki kod çalışıyormuş http://byteworm.com/2010/11/21/the-fastest-vm-bytecode-interpreter/ adresine göre
burada labelin adresini almış. Yazdığınız kod alternatif olarak kullanılabilir ama bu yinede benim hız ihtiyacımı karşılamıyor sınıf çağırma fonksiyon çağırma if kullanımı switch case vs vs bunlardan mümkün olduğunca kaçmaya çalışıyorum. Şu anda ASM ile bunu yapabileceğimi fark ettim eğer becerebilirsem yazarım :) Zekeriya -- |
January 05, 2013 Hız sorunu | ||||
---|---|---|---|---|
| ||||
Posted in reply to Talha Zekeriya Durmuş (zekeriyadurmus) | C'de goto olduğunu bilmiyorum... :blush: Hatta bunun çağdışı bir komut olduğunu düşünürüm hep. Ancak zorda kalınca kullanmanın bir sakıncası yok. İlk GWBASIC'de tanımıştım sonra QBASIC ve tabi alt yordamları için sanırım bir gotosub ya gosub gibi bir şey vardı diye hatırlıyorum! Hey gidi günler hey...:) D'de goto'yu görünce biraz önyargılı baktım. Dedim ki "kahretsin, bu çocukca şeye ne gerek var şimdi!" ama lexer falan yazarken çok işe yarayabiliyor. Verdiğin bağlatıya da baktım ve bir Türkün yorumunu gördüm. Hoş ve de assembly için özeleşmiş olması ilgimi çekti. Mutlaka bu D'ye de uyarlanabilir; belki backend kısmında... -- |
January 05, 2013 Hız sorunu | ||||
---|---|---|---|---|
| ||||
Posted in reply to Salih Dinçer | Bu kavramlara ben de çok yabancıyım ama ihtiyaç oldu :) Sanırım pek d dilinde opcode mantığını kullanacak birisinin çıkacağını düşünmemişler artık onlar bu özelliği ekleyene kadar ben asm ile yapmalıyım ama bir sıkıntı var ben ASM bilmiyorum :) Bir ara visaulD kullanırken gözüme çarpmıştı yazdığım d kodlarının asm karşılığı falan çıkıyordu yanılmıyorsam en azından bunlara bakarak dizi üzerinde işlem yapabilirim belki ama nerede olduğunu bilmiyorum sizin bu konuda bilginiz var mı? Aaa evet Türk'ün birisi yorum atmış :) biz Türklerin de bu konularla ilgilenmesi hoşuma gidiyor açıkçası :) Zekeriya -- |