Exemple #1
0
 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();
 }
Exemple #2
0
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;
}
Exemple #3
0
 void testBlock()
 {
     KDEBUG_BLOCK
     func_int();
     testNestedBlock();
 }
Exemple #4
0
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);
}