Forum: D Programlama Dili RSS
D'nin C++ desteği gelişiyor
acehreli (Moderatör) #1
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ı
Konu adı: D'nin C++ desteği gelişiyor
D, C kütüphanelerini olduğu gibi çağırabiliyor. Şurada anlatıldığı gibi, kütüphanenin D ilinti dosyasının olması gerekiyor:

  http://dlang.org/interfaceToC.html

Şurada yapılmışları var: :p)

  https://github.com/D-Programming-Deimos/

C++ desteği ise oldukça kısıtlıydı ama isim alanı (namespace) gibi olanaklar zaten desteklenmeye başlamıştı:

  http://dlang.org/cpp_interface.html

dmd'nin 2.067 sürümü bu kısıtlamayı büyük ölçüde giderecek. Dün, "D Lang / Silicon Valley" grubunda Andrei Alexandrescu'yu dinledik. Değindiği konuların başında bu vardı. Aynı konu bir gün önce Walter Bright tarafından da sunulmuştu:

  https://www.youtube.com/watch?v=IkwaV6k6BmM

Bu yenetek D'yi C++'ı çağırabilen tek dil haline getirecek. Doğal olarak, bu konu Reddit'te ve Rust forumlarında oldukça ilgi çekiyor:

  http://www.reddit.com/r/programming/comments/2tdy5z/interf…

  http://discuss.rust-lang.org/t/interfacing-d-to-legacy-c-c…

Ali
Avatar
Salih Dinçer #2
Üye Ock 2012 tarihinden beri · 1912 mesaj · Konum: İstanbul
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Tek dil ha?

Diğer eski diller bunu niye yapmak istemedi veya destekleyememelerinin sebebi neydi?
Bilgi paylaştıkça bir bakmışız; kar topu olmuş ve çığ gibi üzerimize geliyor...:)
acehreli (Moderatör) #3
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ı
Herhalde temel sorun C++'ın standart bir ABI'ının (application binary interface) olmaması. O yüzden farklı C++ derleyicileriyle derlenmiş .o dosyaları (veya kütüphaneler) bir araya getirilip program oluşturulamaz. Hatta, bir derleyicinin yeni sürümleri bu konuda eski sürümleriyle uyumlu olmayabilir. (g++ bunu en az bir kere yaşadı.)

ABI'ın nelerden oluştuğu şurada anlatılmış:

  http://stackoverflow.com/questions/7492180/c-abi-issues-list

dmd ise bu sorunu belirli derleyicileri doğrudan destekleyerek hallediyor/halledecek.

Ali
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:
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-19, 08:09:09 (UTC -08:00)