dongu
selm@n22.07.2004 - 16:52:25

#define WaitForActivity(a) ( (*a)=(*a), 0)

bu satir tam olarak ne yapiyor?
bunun kullanildigi yer de asagida..

while(1)
{
WaitForActivity(&activity);
}

activity bir integerdır ...

bu kodu bir türlü ne iş yaptığını anlamadım yardımcı olursanız sevinirim şimdiden teşekkürler.
 
warder23.07.2004 - 00:00:02
define prensiplerine göre değerlendirdiniz mi?
yani
WaitForActivity(&activity);
satırı yerine
WaitForActivity(( (*a)=(*a), 0));
satırını kullandınız mı?
zaten kullanamazsınız saçma bir satır olduğundan derleyici red edecektir.

tabii bu arada WaitForActivity(*) fonksiyonunun içeriğini de bilmek gerekiyor. Aldığı parametreleri de.
makroda tek görülen doğru kullanılmadığı.
Bu haliyle sanki define makrosunun yanlış kullanımına verilmiş bir örnekten alıntıya benziyor gibi.
 
doganzorlu03.08.2004 - 20:06:14
Selam,

Verdiğiniz koddaki makro precompiler dan geçince kod aşağıdaki şekle dönecektir.


while(1)
{
( (activity)=(activity), 0)
}


Buradan da görüleceği gibi bu kod hiçbirşey yapmamaktadır. Activity değişkeni activity değişkenine atanmaktadır. Hepsi bu.. Kodun içinde bu kullanılmadığından linker pass 2 de optimizasyon yaparken bu kodu objeden atacaktır.

Kolay gelsin..
 
NOT : Bu sayfa google'un siteyi indekslemesi içindir. www.delphiturkiye.com/forum/ adresini kullanınız!
1998-2006 www.delphiturkiye.com