فئة تفريغ و كفوبجيكتس
-
12-11-2019 - |
سؤال
هل يتم الخلط بين تفريغ الطبقة من قبل كفوبجيكتس / ستروكتس?لقد استخدمت تفريغ الطبقة على تطبيق واحد من حجة الأسلوب كان بنية أرغ 1 وهو بينستانتمسيج:
struct BInstantMessage {
void **_field1;
struct CFString _field2;
unsigned short *_field3;
struct DTextStyle _field4;
struct BUser *_field5;
struct BChat *_field6;
};
struct CFString {
void **_vptr$CFObject;
struct __CFString *mCFRef;
_Bool mIsMutable;
};
struct __CFString;
وبالتالي, كيف يمكنني الحصول على كفسترينغريف أو نسترينغ* من هذا أرغ 1?أنا أعتقد أن تفريغ الطبقة هو استبدال بعض كفسترينغريف من قبل تعريفات كفسترينغ ، لكنه مجرد تخمين...كل ما أريده هو الحصول على كفسترينغريف من أرغ 1 وهو بينستانتمسيج.
ثناكس!
المحلول
التطبيق يستخدم المجمع ج C لكائنات الأساس الأساسية.ال struct CFString
في BInstantMessage
هو كائن من هذا النوع.تريد (NSString *)(arg1._field2.mCFRef)
.
ال void **_vptr$CFObject
الحقل هو التلميح الرئيسي هنا-فهو يمثل الجدول للطبقة الفائقة الافتراضية CFObject
- جنبا إلى جنب مع ج المشترك C m
اصطلاح تسمية البادئة.
لا تنتمي إلى StackOverflow