`
chriszeng87
  • 浏览: 741120 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

static library和shared library

C 
阅读更多

used in a static library:
比如你用到这个库里的函数,这些函数代码(二进制代码)都拷贝到你的代码程序里来了,所以运行时可以直接找到这些函数,所以可以在没有这些库的机器上运行
used in a shared dll:
当你用到这些库里的函数时,这些函数代码并没有被拷贝到你的程序中来,而是把这些函数是属于哪个库及它们在库中的地址等信息记录下来。。。所以当你的程序运行时,当用到这些函数时,会根据已记录下的信息把函数所属的库加载进地址空间来,再找到要运行的函数地址,这样才可以运行。。。
所以运行你的程序的机器必须要有这些函数所属的库

 

转自:http://bbs.csdn.net/topics/80051362

分享到:
评论

相关推荐

    Scons User Guide 2.01

    在构建和链接库时,SCons提供了静态库和动态库(DLL)的构建方法,如StaticLibrary和SharedLibrary构建器。链接库时,SCons通过$LIBPATH构造变量帮助找到所需的库文件。Node对象是SCons的核心概念,它们代表了文件和...

    gdal static library 编译设置

    GDAL(Geospatial Data Abstraction Library)是一个开源的地理空间数据处理库,它支持多种地理空间文件格式的读取、写入和处理。在IT领域,尤其是地理信息系统(GIS)开发中,GDAL扮演着至关重要的角色。本文将详细...

    Program Library Howto

    This HOWTO for programmers discusses how to create and use program libraries on Linux. This includes static libraries, shared libraries, and dynamically loaded libraries.

    openssl static library

    g++ main.cpp -L /path/to/openssl/static/lib -lssl -lcrypto ``` 这里 `-lssl` 和 `-lcrypto` 分别对应 OpenSSL 的 SSL 和 Crypto 库。 ### 4. 静态库的优势与劣势 **优势:** - **独立性**:静态库与目标程序...

    Dynamic_static_library_example.rar_Linux静态

    在Linux系统中,库是程序员共享代码的一种方式,它们分为动态库(Dynamic Library)和静态库(Static Library)。本文将详细介绍这两种库的创建方法,并通过示例帮助理解它们的工作原理和使用场景。 **动态库(.so ...

    The_C++_Standard_Library(c++中文版).pdf 编程必备

    还有一本由Björn Karlsson所著的《Beyond the C++ Standard Library: An Introduction to Boost》(超越C++标准库:Boost介绍),这本书专注于Boost库,这是一个跨平台的C++库,由社区支持,提供了众多先进的功能和...

    NDK第三方静态库链接例子

    首先,添加`include_directories()`指定头文件的位置,然后使用`add_library()`命令声明一个静态库,比如`add_library(third_party STATIC IMPORTED)`。接着,用`set_target_properties()`指定静态库的路径,例如`...

    libzmq-4.2.0

    在压缩包文件"libzmq-4.2.0"中,通常会包含源代码、编译脚本、头文件、库文件、示例程序、API文档以及安装和使用指南等,帮助开发者理解和使用这个特定版本的ZeroMQ库。开发者可以根据这些资源进行编译、安装和测试...

    Pomelo新客户端SDKlibpomelo2.zip

    false by default-Duse_sys_jansson=[true | false], false by default-Dpomelo_library=[static_library | shared_library], static_library by default-Dbuild_pypomelo=[true | false], false by default.-D...

    android make 介绍

    BUILD_HOST_STATIC_LIBRARY:= $(BUILD_SYSTEM)/host_static_library.mk BUILD_HOST_SHARED_LIBRARY:= $(BUILD_SYSTEM)/host_shared_library.mk BUILD_STATIC_LIBRARY:= $(BUILD_SYSTEM)/static_library.mk BUILD_RAW...

    使用cmake来在Android studio中调用三方so文件

    # Type: STATIC (static library) or SHARED (dynamic library). SHARED # Path to the library file. ${CMAKE_SOURCE_DIR}/src/main/jniLibs/${ANDROID_ABI}/libfoo.so) ``` 4. **Java层与本地库交互**:在...

    linux dynamic library learn

    在Linux系统中,动态库(Dynamic Library)是程序运行时加载的共享库,它们提供了代码复用的功能,有助于减小程序的大小和内存占用。动态库的文件格式通常为`.so`,代表“Shared Object”。本教程将深入探讨Linux...

    cmake 生成静态库和动态库.txt

    在CMake中生成静态库(Static Library)和动态库(Shared Library)是构建项目时常见的需求,下面将详细解释相关知识点。 首先,理解静态库和动态库的基本概念是非常重要的。静态库是指编译时将库文件的代码直接...

    Program Library HOWTO(UNIX 库编程教程)

    5. 示例代码:教程提供了多个示例代码,包括libhello.c(库代码)、libhello.h(头文件)、demo_use.c(使用库的示例程序)、script_static(静态链接脚本)、script_shared(共享库链接脚本)和demo_dynamic.c...

    Beyond+the+C+++Standard+Library(中文版)

    包括`scoped_ptr`、`scoped_array`、`shared_ptr`、`shared_array`、`intrusive_ptr`和`weak_ptr`。 - **Conversion**: 提供了类型转换工具,如`polymorphic_cast`、`polymorphic_downcast`、`numeric_cast`和`...

    Beyond the C++Standard Library(boost中文版)

    《Beyond the C++ Standard Library: An Introduction to Boost》这本书不仅介绍了Boost库的各个方面的功能和使用方法,还深入探讨了其背后的原理和设计理念。通过学习这本书,读者不仅能够掌握如何使用Boost库来...

    hdf5-1.10.5-Std-win10_64-vs15

    注意:Static libraries begin with lib and shared libraries do not. For example, hdf5.lib is the shared library and libhdf5.lib is the static library.

    android开发JNI调用三方.so的demo

    # Sets the library as a shared library. SHARED # Provides a relative path to your source file(s). src/main/cpp/hello.cpp ) find_library( # Sets the name of the path variable. log-lib # ...

    使用Qt 5或6的Excel文件(*.xlsx)阅读器/作者库。QtXlsx的后代。- QtExcel / QXlsx

    QXlsxRead this in other languages: , :... (with Qt)You don't need to use static library or dynamic shared object using QXlsx.You can also use it as a static library.How to useSee See SeeHow to set up (In

    android 简单demo实现将c++代码 编译成静态库和动态库

    # Sets the library as a static library. STATIC # Provides a relative path to your source file(s). src/main/cpp/HelloJNI.cpp ) ``` 六、Java层调用 在Java层,你需要创建一个JNI方法来调用C++代码。在`...

Global site tag (gtag.js) - Google Analytics