资讯   |   开发   |   选机中心   |   产品大全 | IBM | 惠普 | 联想 | 戴尔 | 苹果 | 神舟
更多: | 华硕 | 明基 | 方正 | 紫光 | TCL | 夏新 | 联宝 | 宏碁 | 七喜 | 长城 | 清华同方 | 海尔 | 三星 | 东芝 | 索尼 | 富士通 | LG | 技术 | ddnoon
当前位置:笔记本 > 软件开发 >
Advertisement
文章正文

请问各位高人:如何通过函数名(字符串)得到其对应的函数指针

类型:转载   责任编辑:asp.net   日期:2007/05/23


热门软件下载:


   

现在我可以得到一些函数名(字符串)如:"func1",如何通过这些函数名得到它对应的函数入口地址呢?即使一个指针变量p指向func1()。

网友回答:

发表者:pacman2000

如果是你的主程序中定义的函数,其实也是可以按照类似的方法从字符串调用的。  
  因为dlopen(filename,flag)这个函数比较特殊,如果filename是NULL,就是表示取得主程序的句柄。  
  一个例子:  
  #include   <stdio.h>  
  #include   <dlfcn.h>  
   
  void   wel()  
  {  
        fputs("hello,wel!",stdout);  
  }  
   
  main()  
  {  
        void   *handle=dlopen(NULL,RTLD_LAZY);  
        void   (*fun)();  
        if   (handle==NULL)  
        {  
                fputs(dlerror(),stderr);  
                exit(-1);  
        }  
        fun=dlsym(handle,"wel");  
        if   (fun==NULL)  
        {  
                fputs(dlerror(),stderr);  
                exit(-2);  
        }  
        (*fun)();  
        dlclose(handle);  
  }  
 


 

 
热门推荐笔记本: IBM笔记本
相关文章:
webmaster:popbb@126.com   最佳浏览:1024X768 MSIE
©2007 popbb.net All Rights Reserved