December 28, 2012

Bence kCCSuccess bir enum değeri (veya sabit) ve büyük olasılıkla da 0. Gösterge büyük olasılıkla CCBigNumRef tanımının içinde gizli. Herhalde şöyle bir şeydir:

typedef CCBigNum* CCBigNumRef;

Veya CCBigNum değerine referans olarak kullanılan bir yapıdır:

struct CCBigNumRef
{
   CCBigNum *sayi;
};

CCBigNumSquare gibi işlevler sonucu çıkış parametresine yazıyorlar. 'res' herhalde "result"ın kısaltması. Zaten const olmayan o. 'a' da karesi alınacak olan değer.

Alıntı:

>

işlevlerin hangi kütüphaneden çağrıldığını öndeki takıdan (yukarıda ccz.h) anlayabiliyoruz

C'de isim alanı olmadığı için bütün isimlerin başına öyle takılar gelmesi neredeyse şart. C++ ve D gibi dillerde gerekmiyor. Ama dediğin gibi, C'nin durumunun bir yararı var: Elimizdeki bir ismin tam olarak nerede tanımlandığını hemen bulabiliyoruz. C++ ve D'de 'copy()' olarak yazılmış bir işlev görünce hangi isim alanındaki copy olduğunu bilemiyoruz.

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

December 28, 2012

Alıntı (Salih Dinçer):

>

Yine de çok anlamsız çünkü hesaplamanın yapıldığı bilgisini vermiyor. Neden şöyle yapılmamış ki!

> ...
>     return ccz_sqr(res, a);
> ...
> ```


C'de neredeyse şarttır. Hata atma düzeneği olmadığı için dönüş türü hata koduna ayrılır.

Alıntı:
> Bu kodu D'de yazsaydık sanırım scope() kullanarak işlevde neler olup bittiği hakkında daha iyi bir log'lama elde edebilirdik...:)

Hata atma düzeneğinin yararı, öyle mesajlara gerek kalmıyor olması. Ben olsam işlevi yalnızca kendi işini yapacak biçimde yazarım.

Eğer log gerçekten önemliyse, onu hata sıradüzeninin tepesindeki türün kurucusunda yapmak daha iyi oluyor. Böylece loglamayı her işlevde düşünmek zorunda kalmıyoruz. Biz bu iş için C++'ta libundwind'ı kullanıyoruz. libunwind o anda program yığıtında hangi işlevlerin bulunduğunu gösteriyor. Böylece hatanın nereden atılmakta olduğunu öğreniyoruz. (Tabii bazı hata türleri loglanmasını istemeyebiliyorlar.) Bu işin D'de özel bir çözümü olduğunu sanmıyorum.

Ali

-- 
[ Bu gönderi, <http://ddili.org/forum>'dan dönüştürülmüştür. ]
1 2
Next ›   Last »