TestClass1() { // instantiate func_void(); func_int(); func_unsigned(); func_long(); func_ll(); func_ull(); func_char(); func_schar(); func_uchar(); func_Pchar(); func_KPchar(); func_VKPchar(); func_KVPKVull(); func_KPKVvoid(); func_ai(); func_aptr(); func_aenum(); func_aaptr(); func_ienummap(); func_template1<TestClass1>(); func_template2<foo>(); func_fptr(); func_pmf(); func_uglypmf(); func_uglypmf2(); }
int main(void) { int x = 0; decltype(func_int_r()) a1 = x; //a1 -> int& decltype(func_int_rr()) b1 = 0; //b1 -> int&& decltype(func_int()) c1 = 0; //c1 -> int decltype(func_cint_r()) a2 = x; //a2 -> const int& decltype(func_cint_rr()) b2 = 0; //b2 -> const int&& decltype(func_cint()) c2 = 0; //c2 -> int decltype(func_cfoo()) ff = Foo(); //ff -> Foo system("pause"); return 0; }
void testBlock() { KDEBUG_BLOCK func_int(); testNestedBlock(); }
int main(int argc, char* argv[]) { void *handle; char *error; int i; int esp = 0; void *func; handle = dlopen(argv[1], RTLD_NOW); if(0 == handle) { printf("Can't find library: %s\n", argv[1]); return -1; } func = dlsym(handle, argv[2]); if ((error = dlerror()) != NULL) { printf("Find symbol %s error: %s\n", argv[2], error); goto exit_runso; } switch (argv[argc - 1][0]) { case 'i': { int (*func_int)() = func; SETUP_STACK; printf("%p\n", func_int); int ret = func_int(); RESOTRE_STACK; printf("ret = %d\n", ret); break; } case 'd': { double (*func_double)() = func; SETUP_STACK; double ret = func_double(); RESOTRE_STACK; printf("ret = %f\n", ret); break; } case 's': { char* (*func_str)() = func; SETUP_STACK; char *ret = func_str(); RESOTRE_STACK; printf("ret = %s\n", ret); break; } case 'v': { void (*func_void)() = func; SETUP_STACK; func_void(); RESOTRE_STACK; printf("ret = void"); break; } }/* end of switch */ exit_runso: dlclose(handle); }