Forum: Ders Arası RSS
C önişlemci Komutları [Soru]
Sayfa:  1  2  sonraki 
Avatar
huseyin #1
Üye Haz 2012 tarihinden beri · 363 mesaj · Konum: Ankara
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Konu adı: C önişlemci Komutları [Soru]
Merhaba D de #ifdef vb. komutların karşılığı nedir ?
İnternette araştırdım assert vb. demişler ama assert ile komut seçilemiyor diye biliyorum
Huseyin
acehreli (Moderatör) #2
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Amaç tam olarak ne? Herhalde debug, version, static if, şablonlar, vs. yararlı olacaktır:

  http://ddili.org/ders/d/kosullu_derleme.html

Ali
Avatar
huseyin #3
Üye Haz 2012 tarihinden beri · 363 mesaj · Konum: Ankara
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Version yararlı olabilir aslında sorun şu
Linux define ise bir komut değil ise başka komut
Huseyin
acehreli (Moderatör) #4
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
else ile kullanılabildiği de geçen gün konuşulmuştu:

version (linux) {
    // ...
 
} else {
    // ...
}

Ali
Avatar
huseyin #5
Üye Haz 2012 tarihinden beri · 363 mesaj · Konum: Ankara
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Teşekkürler Denicem
Hmm forum daki konulara hakim değilim malum büyük bir forumuz :)
Huseyin
acehreli (Moderatör) #6
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
huseyin325325:
Hmm forum daki konulara hakim değilim malum büyük bir forumuz :)

Doğrusu, ben de değilim. Bazen kendi yazdığım ama hiç hatırlamadığım şeylere rastlıyorum. :)

Bu konuyu iyi hatırlıyorum çünkü bağlantısını verdiğim bölümde debug'ın ve version'ın else ile de kullanılabildiklerini gösteren hiç bilgi yok. :/

Ali
Avatar
huseyin #7
Üye Haz 2012 tarihinden beri · 363 mesaj · Konum: Ankara
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Haklısınız sizi soru yağmuruna tutuyorum ama D de ctypes kullansak problem olur mu
Bir soru daha
main.d(324): Error: function main.Error conflicts with enum main.Error at main.d(7)

Bunun anlamı nedir ben anlamadım
Huseyin
Bu mesaj huseyin tarafından değiştirildi; zaman: 2012-07-25, 16:58.
acehreli (Moderatör) #8
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
ctypes? ctype.h başlığına yakın olarak std.stdint ve std.traits modülleri ve __traits olanağı var:

  http://dlang.org/phobos/std_stdint.html

  http://ddili.org/ders/d/tur_nitelikleri.html

Ali
acehreli (Moderatör) #9
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj #7
huseyin325325:
main.d(324): Error: function main.Error conflicts with enum main.Error at main.d(7)

Bunun anlamı nedir ben anlamadım

7 numaralı satırdaki Error isimli işlev 324 numaralı satırdaki Error isimli enum ile çakışıyor.

Ali
Avatar
huseyin #10
Üye Haz 2012 tarihinden beri · 363 mesaj · Konum: Ankara
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj #8
7 numaralı satırdaki Error isimli işlev 324 numaralı satırdaki Error isimli enum ile çakışıyor.
evet jeton geç düştü :)
std.ctype;
kullandım ama sanırım silinmiş
Huseyin
acehreli (Moderatör) #11
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Emekliye ayrılmış. Yerine std.ascii gelmiş:

  http://dlang.org/phobos/std_ctype.html

Bu arada, lütfen yanlış anlama ama bu bilgiyi dlang.org'da sağdaki arama kutusuna std.ctype yazarak buldum. :)

Ali
Avatar
huseyin #12
Üye Haz 2012 tarihinden beri · 363 mesaj · Konum: Ankara
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Evet dlang.org ve gecenin son sorusu :D

Hani c++ da int main(int argc, char *argv[]) bole yazılıyor ya D de string[] kullanılıyor bunun arg sayısını nasıl alacaz length kullanarak mı ?
Huseyin
erdem (Moderatör) #13
Üye Tem 2009 tarihinden beri · 981 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Zaten string türünden bir dizi olduğu için length ile kaç tane parametre aldığın görebilirsin. Örneğin ilk parametre programın ismi olmuş oluyor. Bu konuda bir örnek programı burada bulabilirsin.

http://ddili.org/forum/thread/511
Avatar
huseyin #14
Üye Haz 2012 tarihinden beri · 363 mesaj · Konum: Ankara
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Hmm hep c de bu şekilde alışınca çok zor geliyor :)
onu da çözdüm teşekkür ederm
Huseyin
Avatar
Salih Dinçer #15
Üye Ock 2012 tarihinden beri · 1912 mesaj · Konum: İstanbul
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj #12
huseyin325325:
Evet dlang.org ve gecenin son sorusu :D

Hani c++ da int main(int argc, char *argv[]) bole yazılıyor ya D de string[] kullanılıyor bunun arg sayısını nasıl alacaz length kullanarak mı ?
Gerçi Erdem cevap yazmış ama o bir string örneği. Eğer parametrelerde sayı kullanmak istersen yazdığım str2num() işlevini (-bknz. aşağıdaki örnek) kullanabilirsin. Belki D'de std.conv içinde başka çözümü de olabilir; bilemiyorum ama benim hep kullandığım basit ve etkili bir çözüm. Başarılar dilerim...
import std.stdio;
 
int str2num (string args) {
    int n, magicNum = 48;
    foreach(a, arg; args) {
        n += (cast(int) arg - magicNum) * 10^^(args.length-a-1);
    }
    return n;
}
bool isPrime(uint p) {
    if(p < 2) return false;
    if(p != 2 && p % 2 == 0) return false;
        for(uint n = 3; n * n <= p; n += 2) {
            if(p % n == 0) return false;
    }
    return true;
}
 
void main(string[] param) {
    foreach (p; param[1 .. param.length]) {
        p.write(" is ");
        if(!isPrime(str2num(p))) write("not "); 
        writeln("prime!"); 
    }
}/* dmd isprime.d -release ile derledikten sonra,
./isprime 2 3 4 5 4294967279
gibi denenirse toplam 5 sayının asallık testi yapılır biri için false döner...
*/
Bilgi paylaştıkça bir bakmışız; kar topu olmuş ve çığ gibi üzerimize geliyor...:)
Doğrulama Kodu: VeriCode Lütfen resimde gördüğünüz doğrulama kodunu girin:
İfadeler: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Özel Karakterler:
Sayfa:  1  2  sonraki 
Forum: Ders Arası RSS
Bağlı değilsiniz. · Şifremi unuttum · ÜYELİK
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Şu an: 2017-11-21, 11:01:27 (UTC -08:00)