2
我碰到下面的代碼片段:^{}在C中表示什麼?
void solve_symbols() {
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
getClass = dlsym(RTLD_DEFAULT, "objc_getClass");
getClassObj = dlsym(RTLD_DEFAULT, "object_getClass");
registerName = dlsym(RTLD_DEFAULT, "sel_registerName");
respondsToSelector = dlsym(RTLD_DEFAULT, "class_respondsToSelector");
msgSend = dlsym(RTLD_DEFAULT, "objc_msgSend");
});
}
代碼可以在這裏找到:GitHub:ParasiteLoader/loader.c
是什麼^{ getClass = dlsy... }
做/是什麼意思?
它被稱爲塊https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/WorkingwithBlocks/WorkingwithBlocks.html –
語法和用法的實踐建議@KeithNicholas我相信Block是一個C擴展'一個新的派生類型被引入到C中,並且被擴展爲Objective-C,C++和Objective-C++ http://clang.llvm.org/docs/BlockLanguageSpec.html –
對於那些跳過編輯無關標題和標籤的人,請在此之前查看OP的鏈接。謝謝。 –