objektif-c - Bagaimana untuk memanggil fungsi pelaksanaan blok melalui dlsym?
習慣沉默
習慣沉默 2017-05-02 09:32:20
0
0
496

#import <UIKit/UIKit.h>

#import <dlfcn.h>

static void (*block_func)(void);

dispatch_block_t block = ^(){

    printf("Hello, World!\n");
};

void test(){
    printf("test invoked\n");
}

int main(int argc, char *argv[]) {

    for (NSInteger i = -2000; i < 2000; i++) {

        block_func = dlsym(i, "test");
        if (block_func) {
            printf("%ld\n", (long)i);
            block_func();
        }

        block_func = dlsym(i, "main_block_invoke");
        if (block_func) {
            printf("%ld\n", (long)i);
            block_func();
        }
    }
}
習慣沉默
習慣沉默

membalas semua(0)
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan