מה זה 4-bytes address

albanetc

New member
4-bytes address ב-HEX זה...

0x4-bytes address (C style) -or- 4H-bytes address (assembler style)
באיזה הקשר?
 
תוכנת פאלם...

אני יודע לדוגמה שבין אופסטים 1F8h ו- 1FBh יש 4-bytes address שאני צאיך לשנות את הערך שם למשהו... מי ? מה ? למה ? עומר
 

albanetc

New member
קודם כל...

... אני מאד מקווה שאתה מבין מה אתה עושה. התכנות שלך לפי הבנתי הוא ל-PalmOS, ואני לא מכיר אותה. אבל! בדוגמא שנתת 1F8 - זה כתובת שאורכה בית אחד (1-byte address). בכתובת הזאת יש לך מצביע למשהו, שגם לא כ"כ הבנתי אם עליך לשנות את המצביע עצמו או את משהו שנמצא במקום אליו מצביע המצביע. בכל מקרה, לא יפה, מלוכלך, לא פורטבילי וכו´ אבל יעשה את העבודה:
long *p; p = (long*) 0x1fb;​
עכשיו אתה יכול להשתמש ב *p או p* כדי לשנות
*p = &my_struct; /* whatever */​
הכל בהינתן ש-LONG זה 4 בתים ב-PALMOS. אם אתה צריך לשנות משהו במקום אליו מצביעים (ולא את המצביע עצמו) יש קצת יותר עבודה: אתה אמור לדעת מה יש לך שם, נגיד MY_STRUCT, ואז תשתמש במצביע למצביע (MY_STRUCT**) בהינתן שגודל של מצביע הוא 4 בתים:
sizeof (MY_STRUCT*) == 4 או sizeof (void*) == 4​
 
למעלה