码迷,mamicode.com
首页 > 编程语言 > 详细

C语言如何开发简单的插件

时间:2016-09-22 23:46:34      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:

linux 通过dlopen来实现:

#include "polygon.h"
#include <stdlib.h>
#include <dlfcn.h>

int main()
{
    typedef CPolygon* create_t();

    void * handle = dlopen("./triangle.so", RTLD_LAZY);

    if( !handle )
    {
    std::cerr << dlerror() << std::endl;
    exit(1);
    }

    create_t * create_triangle = (create_t *)dlsym(handle, "create");

    CPolygon * pObj = create_triangle();

    if( 0 != pObj )
    {
    pObj->area();
    }

    delete pObj;

    dlclose(handle);
    return 0;
}

生成动态库:g++ -fPIC -shared triangle.cpp -o triangle.so

生成test主函数:g++ -fPIC test.cpp -ldl -o test

具体demo:http://files.cnblogs.com/files/hero4china/plugins_1.zip

 

参考:

https://my.oschina.net/u/1450061/blog/204564

https://my.oschina.net/u/1450061/blog/204608

https://my.oschina.net/u/1450061/blog/204563 

C语言如何开发简单的插件

标签:

原文地址:http://www.cnblogs.com/hero4china/p/5898252.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!