您当前的位置: 首页 >  c++

命运之手

暂无认证

  • 1浏览

    0关注

    747博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【NDK】【003】将C++代码编译为dll共享库

命运之手 发布时间:2020-02-21 09:26:44 ,浏览量:1

什么是共享库

C++代码可以编译成类库,直接分发给其它应用调用

这使得可以很容易地将自己的代码以库文件的形式共享给他人使用,同时还能保护源码不泄漏

C++共享库在Windows中以dll文件的形式存在,而在Linux系统中则以so文件的形式存在

这两种文件想必大家都不陌生,其实它们都是C++共享库,只是适用于不同平台的软件,并且都可以被JNI调用

将C++代码编译为dll共享库

现在我们已经知道,Windows系统中常见的dll文件,其实和Android中的so文件是同一性质的东西

为了让大家视野看得更宽广些,不局限于安卓开发,我们先来讲解如何编译dll库

虽然Android根本不可能调用dll库,因为dll是Windows动态链接库,依赖于Windows底层系统接口

但是大家以后开发做得多了,Java开发是免不了要和dll打交道的,dll调用也是JNI的重要一部分

至于so库,我们后面有的是机会讲,因为编译so库是NDK开发的第一步,不怕大家不会

我们这次使用CLion来编译dll库,相对于Visual Studio,CLion功能布局更清晰点

更重要的是,CLion和Android Studio一样,都是在IntelliJ Idea的基础上扩展而来

用法基本一样,只是适用语言不一样,因此基本没有学习成本

创建一个【C++ Library】工程 在这里插入图片描述 下载并配置MinGW

这是一个C++编译器,代码要靠它编译成程序或库,直接下载解压,配置下路径就可以了 在这里插入图片描述 编译工程,【Build】-【Build Project】 在这里插入图片描述 在编译目录下找到生成的dll文件 在这里插入图片描述 OK,完工!

这次我们只演示如何编译dll,用的是默认的C++代码

实际dll想要被JNI调用,在命名上是有规则的,这个我们下节再讲

关注
打赏
1654938663
查看更多评论
立即登录/注册

微信扫码登录

0.0474s