| selm@n | 22.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. | |
| warder | 23.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. | |
| doganzorlu | 03.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.. | |