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

静态库编程

发布时间: 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-05-08 11:19:29 浏览:171
多台服务器怎么共用一个公网ip 发布:2025-05-08 10:57:45 浏览:989
营销的密码是什么 发布:2025-05-08 10:34:27 浏览:467
如何快速的更改wifi密码 发布:2025-05-08 10:33:51 浏览:746
在线游戏源码 发布:2025-05-08 10:26:46 浏览:100
三星笔记本配置低为什么贵 发布:2025-05-08 10:25:12 浏览:908
腾讯企业邮箱密码忘了怎么办 发布:2025-05-08 09:54:56 浏览:3
苹果手机屏保密码怎么设置 发布:2025-05-08 09:54:07 浏览:148
2021款荣放买哪个配置合适 发布:2025-05-08 09:50:38 浏览:215
oracle存储过程fetch 发布:2025-05-08 09:49:05 浏览:72