threedotthree-abi-1.mm
来自「Mac OS X 10.4.9 for x86 Source Code gcc」· MM 代码 · 共 70 行
MM
70 行
/* APPLE LOCAL begin radar 4301047 */#include <stdio.h>#include <string.h>#include <objc/Protocol.h>#ifndef __NEXT_RUNTIME__#include <objc/objc-api.h>#endifextern "C" void abort();@protocol CommonProtocol-(oneway void)methodCall_On:(in bycopy id)someValue_On;-(oneway void)methodCall_nO:(bycopy in id)someValue_nO;-(oneway void)methodCall_Oo:(out bycopy id)someValue_Oo;-(oneway void)methodCall_oO:(bycopy out id)someValue_oO;-(oneway void)methodCall_rn:(in const id)someValue_rn;-(oneway void)methodCall_oOn:(in bycopy out id)someValue_oOn;@end@interface ObjCClass <CommonProtocol>{}@end@implementation ObjCClass-(oneway void)methodCall_On:(in bycopy id)someValue_On { }-(oneway void)methodCall_nO:(bycopy in id)someValue_nO { }-(oneway void)methodCall_Oo:(out bycopy id)someValue_Oo { }-(oneway void)methodCall_oO:(bycopy out id)someValue_oO { }-(oneway void)methodCall_rn:(in const id)someValue_rn { }-(oneway void)methodCall_oOn:(in bycopy out id)someValue_oOn { }@endProtocol *proto = @protocol(CommonProtocol);struct objc_method_description *meth;int main(){ meth = [proto descriptionForInstanceMethod: @selector(methodCall_On:)]; if (strcmp (meth->types, "Vv12@0:4On@8")) abort(); meth = [proto descriptionForInstanceMethod: @selector(methodCall_nO:)]; if (strcmp (meth->types, "Vv12@0:4nO@8")) abort(); meth = [proto descriptionForInstanceMethod: @selector(methodCall_Oo:)]; if (strcmp (meth->types, "Vv12@0:4Oo@8")) abort(); meth = [proto descriptionForInstanceMethod: @selector(methodCall_oO:)]; if (strcmp (meth->types, "Vv12@0:4oO@8")) abort(); meth = [proto descriptionForInstanceMethod: @selector(methodCall_rn:)]; if (strcmp (meth->types, "Vv12@0:4rn@8")) abort(); meth = [proto descriptionForInstanceMethod: @selector(methodCall_oOn:)]; if (strcmp (meth->types, "Vv12@0:4oOn@8")) abort(); return 0;}/* APPLE LOCAL end radar 4301047 */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?