Alıntı (acehreli):
> O foruma sonra bakacağım.
Alıntı (erdem):
> Bir de "name mangling (decoration)" terimi için aklınıza gelen Türkçe karşılık var mı acaba?
"Decoration"ın tam çevirisi olarak: isim süsleme?
Ben bir tane Fizik, Kimya Terimleri Sözlüğü buldum. Akıllara zarar! :)
Orda diyor ki kelimeler o kavramın ifade ettiği anlamı göstermelidir. Buna göre birebir çeviri yapmamıza gerek yok.
O zaman derleyici bu işlemi yaptığına göre derleyici süslemesi süsü mü desek.
Bu arada orda gördüğüm ve ilginç bulduğum bir kaç çeviri.
anode : artıuç
**capacity: **sığa
capacitor: sığaç (bunu ben uydurdum :)
**computer program: **çizeylem
conductor: iletken
constant: dursayı
photochemistry: ışılkimya
photoresistor: ışıldirenç (bunu da ben uydurdum :)
Verdiğiniz örnek gerçekten açıklayıcı olmuş. Hatta daha önce SDL için D ilmekleri yazarken de bu örneği göstermiştiniz sanırım. Şimdi hatırladım.
TDLP'nin 359. sayfasından alıntı yapıyorum:
*D modules can interface directly with C and C++ functions. The restriction is that template C++ functions are not allowed because that would require the D compiler to include a full-fledged C++ compiler. Also D's class layout is not compatible with C++ classes that use virtual inheritance.
To call functions defined in C and C++, simply specify the language in the function declaration and make sure to link your module with the appropriate libraries:*
extern(C) int foo(char*);
extern(C++) double bar(double);
The declarations cue the D compiler to generate calls with the appropriate stack layout, calling convention, and name encoding (aka name mangling), even though D functions themselves are different in some or all of these aspects.
Ben bir D programcısıyım. Amacım bir C kütüphanesindeki işlevleri çağırıp kendi programımda kullanmak. Bunun için içinde 'extern(C)' vs.. bulunan bir kod yazıyorum. Bu işleme ilmek, ilinti yazma ("binding") denilmiyor mu.
Derleyici bu işi gerçekleştirmek için süslemeler yapıyormuş, ya da program yığıtına belirli bir sırada yerleştirmek için çağrılar yapıyormuş. Bu arkaplanda derleyicinin yaptığı işler programcıyı ilgilendirir mi? Bu ilmeklerin yazılma amaçları aslında C işlevlerini çağırmak değil midir? Yani C ile D arasında bir nevi iletim köprüsü görevi görüyor.
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]