当前位置:首页 » 编程软件 » 静态库编程

静态库编程

发布时间: 2025-02-23 18:02:38

‘壹’ 如何在android studio中用JNI调用静态库

NDK中 apps下本身就有一个例子,two-libs,就是引用静态库。
LOCAL_PATH:= $(call my-dir)

# first lib, which will be built statically
#
include $(CLEAR_VARS)

LOCAL_MODULE := libtwolib-first
LOCAL_SRC_FILES := first.c

include $(BUILD_STATIC_LIBRARY)

# second lib, which will depend on and include the first one
#
include $(CLEAR_VARS)

LOCAL_MODULE := libtwolib-second
LOCAL_SRC_FILES := second.c

LOCAL_STATIC_LIBRARIES := libtwolib-first

include $(BUILD_SHARED_LIBRARY)

‘贰’ linux动态库和静态库的区别

动态链接库和静态链接库是编程中常见的两种链接方式。在程序源代码编译完成后,通过编译器和链接器,程序会与这些库进行链接。其中,动态链接库与静态链接库的主要区别在于链接器在进行链接时,静态库会被直接编译进程序,而动态链接库则不会。我们通常将这些库称为程序的依赖。

程序运行需要这些依赖,而在程序进行静态链接后,程序本身便已包含了这些依赖。然而,在动态链接后的程序中,这些依赖则不会包含在程序里,它们需要由执行者自行安装进操作系统。特别是在Linux系统中,动态库的后缀通常是.so,而静态库的后缀为.a。

静态链接的一个显着缺点是,静态链接后的程序相较于动态链接所要占用的空间更大。这是因为静态链接会将链接库编译进程序里,所以静态编译后的程序会占用更多的存储空间。这种情况下,静态库的维护和更新变得相对困难,因为如果链接库中存在bug等需要更新时,可能需要更新整个程序。

相比之下,动态库在程序运行时会动态地加载这些库,因此我们只需要更新动态库而不需要更新所有依赖该库的程序。此外,很多程序的开发都会使用到相同的链接库,这些程序共享一个链接库,从而大大减少了存储资源的占用。

综上所述,动态链接库和静态链接库各有优缺点。使用动态链接库可以减少存储资源的占用,便于维护和更新。而静态链接库则适用于对程序大小有严格要求的情况,以及需要确保程序在没有依赖库的情况下也能运行的场景。

热点内容
安卓手机拍一拍后缀怎么设置 发布:2025-02-23 23:10:31 浏览:560
小学生电脑编程 发布:2025-02-23 23:04:21 浏览:830
把手机放到嘴巴里解压声控 发布:2025-02-23 22:59:13 浏览:202
反向代理php 发布:2025-02-23 22:58:26 浏览:322
java执行顺序 发布:2025-02-23 22:43:29 浏览:46
androidphp推送 发布:2025-02-23 22:22:31 浏览:157
eu4和群星哪个吃配置 发布:2025-02-23 22:15:37 浏览:316
如何给应用设密码 发布:2025-02-23 22:07:10 浏览:985
安卓微信什么时候可以改来电铃声 发布:2025-02-23 22:00:48 浏览:88
英文翻译源码 发布:2025-02-23 21:58:28 浏览:200