Я играю во время выполнения target-c и получаю SIGSEGV при попытке напечатать описание объекта:
#include <objc/runtime.h>
#include <stdio.h>
#include <stdlib.h>
int
main()
{
// SEL sAlloc = sel_registerName("alloc");
SEL sInit = sel_registerName("init");
SEL sDesc = sel_registerName("description");
id desc;
Class nAuto = (Class)objc_getClass("NSAutoreleasePool");
Class nObject = (Class)objc_getClass("NSObject");
// Avoid __NSAutoreleaseNoPool warrning
id nsAuto = class_createInstance(nAuto, 0);
objc_msgSend(nsAuto, sInit);
id ns = class_createInstance(nObject, 0);
objc_msgSend(ns, sInit);
desc = objc_msgSend(ns, sDesc);
printf("%s\n", class_getName(ns->isa));
printf("%s\n", class_getName(desc->isa)); // SIGSEGV triggered
NSLog(desc);
return EXIT_SUCCESS;
}
Так что, если у кого-то есть идея, почему это происходит.Спасибо