مشاهدة النسخة كاملة : انظر كيف يعمل هذا البرنامج


الاسترالي
20-08-2006, 11:54 AM
السلام عليم
ارجوا منكم مساعدتي وشرح كل الاوامر في الكود التالي
#if ! defined (__bt_buffer_H__)
#define __bt_buffer_H__ 1

typedef void (*BD_BUFFER_FREE) (struct BD_BUFFER *pBuff);

struct BD_BUFFER **
int cSize;
int cStart;
int cEnd;

BD_BUFFER_FREE pFree;

int fMustCopy;

unsigned char *pBuffer;
};

inline int BufferTotal (BD_BUFFER *pB) **
return pB->cEnd - pB->cStart;
}

inline int BufferGetByte (BD_BUFFER *pB, unsigned char *puc) **
if (pB->cEnd - pB->cStart < 1)
return FALSE;

*puc = pB->pBuffer[pB->cStart++];

return TRUE;
}

inline int BufferGetShort (BD_BUFFER *pB, unsigned short *pus) **
if (pB->cEnd - pB->cStart < 2)
return FALSE;

*pus = pB->pBuffer[pB->cStart] | (pB->pBuffer[pB->cStart + 1] << 8);
pB->cStart += 2;

return TRUE;
}

inline int BufferGetChunk (BD_BUFFER *pB, int cChunk, unsigned char *pChunk) **
if (pB->cEnd - pB->cStart < cChunk)
return FALSE;

memcpy (pChunk, pB->pBuffer + pB->cStart, cChunk);
pB->cStart += cChunk;

return TRUE;
}

void BufferFree (BD_BUFFER *pBuf);
BD_BUFFER *BufferAlloc (int cSize);
BD_BUFFER *BufferCopy (BD_BUFFER *pBuffer);
BD_BUFFER *BufferCompress (BD_BUFFER *pBuffer);

#endif // __bt_buffer_H__

Mr.Time1
20-08-2006, 03:28 PM
عزيزي
شرح البرنامج أو الكود أن صح التعبير أو الملف الرأسي ان اردنا الاصح
بسيط للغاية
فكل الكود عبارة عن سجل struct ومؤشر عليه بالاضافه إلى مجموعة توابع معرفة عليها تقوم بأغراض محدده , ايضا يوجد خطأ memcpy غير مصرح عنه

هذا كل مافي الامر

وتستطيع تتبع الاسنادات للمتغيرات والمؤشرات لمعرفة الاهداف منها .. ويمكنك دراسة ذلك على ورقة خارجيه

وفي حال استصعاب شئ عليك لا تتردد من طرحه هنا
تقبل تحياتي
Mr.Time1