面试中问到动态库和静态库相关知识

2023-05-16

1.动态库相比较于静态库的优缺点?

        动态库优点:节省内存和代码重用,当应用程序使用动态链接库时,多个应用程序可以共享磁盘上的DLL(windows)和so(linux)副本,可实现多个进程间资源共享

        动态库缺点:加载速度比静态库慢

        静态库优点:静态库被打包到应用程序中加载速度快、移植方便

        静态库缺点:消耗系统资源

2.如何生成动态库

        1.    gcc -c -fpic *.c  得到目标文件

        2.    gcc  -shared *.o -o lib***.so  生成动态库

3.如何链接动态库

        gcc main.c -o main -I include/ -L lib/ -l calc

4.动态库和可执行二进制文件放在那里?

        动态库必须和可执行二进制文件放在一起否则会报错

介绍一下关于库

库是计算机上的一类文件,可以看成代码仓库。是特殊的一种程序,只是库不能单独运行

库文件有两种:静态库和动态库(共享库)。区别是静态库在程序的链接阶段被复制到程序中;动态库在链接阶段没有被复制到程序中,而是在程序运行是系统动态加载到内存中供程序调用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

面试中问到动态库和静态库相关知识 的相关文章

  • java中return用法总结

    Java中return用于方法 xff0c 两个作用 xff1a xff08 1 xff09 返回方法指定类型的值 xff08 这个值总是确定的 xff09 xff0c 也可以是对象 xff08 2 xff09 方法的结束 两种形式 xff
  • AngularJS:实现动态添加输入控件功能

    AngularJS xff1a 实现动态添加输入控件功能 功能要求如下 xff1a 1 点击加号可以增加输入框 2 点击减号可以减少输入框 3 当输入框只有一个的时候 xff0c 不能再减少输入框 效果图如下 xff1a 只有一个输入框 有
  • angularjs数组基本操作

    1 ng click ng model ng bind ng class ng hide ng app 2 placeholder 3 中加入代码 xff1a true false 使用逗号隔开 xff0c 可以控制包括样式 xff0c 显
  • Jasmine 常用语法

    jasmine测试脚本 function jasmine基本语法介绍 xff1a describe string function xff1a 可以理解为是一个测试集或者测试包 xff08 官方称之为suite xff09 xff0c 主要
  • linux下隐藏文件 和 显示隐藏文件命令

    xff08 1 xff09 linux下隐藏文件和文件夹 xff08 目录 xff09 需要用到 mv 命令 其实超简单的 例子 xff1a 将a目录隐藏 命令 xff1a mv a a xff08 2 xff09 linux下显示隐藏文件
  • SSH下know_hosts的作用(转)

    原文地址 xff1a http blog csdn net yasaken article details 7348441 在平时工作中 xff0c 有时候需要SSH登陆到别的Linux主机上去 xff0c 但有时候SSH登陆会被禁止 xf
  • 卸载.bundle文件的方法

    比如下载下来的VMware Player文件名为 VMware Player 3 1 0 261024 i386 bundle 在终端中转到文件放置的目录 xff0c 执行 sudo sh VMware Player 3 1 0 26102
  • 您也许需要运行“apt --fix-broken install”来修正上面的错误

    ROS中软件安装问题 xff1a 您也许需要运行 apt fix broken install 来修正上面的错误 解决方式 xff1a sudo apt fix broken install y
  • linux下c语言查询mysql数据库

    include lt stdio h gt include lt mysql h gt int main int argc char argv MYSQL mysql conn MYSQL RES mysql result MYSQL RO
  • Linux中查看各文件夹大小命令du -h --max-depth=1

    du abcDhHklmsSx L lt 符号连接 gt X lt 文件 gt block size exclude 61 lt 目录或文件 gt max depth 61 lt 目录层数 gt help version 目录或文件 常用参
  • pg_restore - 从一个由 pg_dump 创建的备份文件中恢复 PostgreSQL 数据库。

    NAME pg restore 从一个由 pg dump 创建的备份文件中恢复 PostgreSQL 数据库 SYNOPSIS pg restore option filename DESCRIPTION xfffd xfffd xfffd
  • django 中 manage.py通常使用的各种命令大全(包含django 安装指导及测试)

    原文 xff1a http blog csdn net qq287156351 article details 9530567 命令执行 错误修复常用命令 1 xff0c python manage py syncdb 本命令会修复SQL的
  • linux里grep和egrep,fgrep的区别

    例子 1 格式 grep option pattern filename 注意 pattern如果是表达式或者超过两个单词的 需要用引号引用 可以是单引号也可双引号 区别是单引号无法引用变量而双引号可以 grep 39 lt Tom gt
  • IDL文件是什么详细介绍

    IDL是什么详细介绍 IDL Interface Definition Language 即接口定义语言 xff0c 是CORBA规范的一部分 xff0c 是跨平台开发的基础 IDL提供一套通用的数据类型 xff0c 并以这些数据类型来定义
  • rpm学习

    https www cnblogs com SQL888 p 5776442 html https bintray com jfrog artifactory pro jfrog artifactory pro zip 6 3 0 http
  • mac学习整理

    xcode select switch build toolchain mac32 xcode 7 3 Xcode appxcode select print path
  • Jenkins使用整理

    In the Global Security I didn 39 t have a TCP port for JNLP agents enabled which automatically disables the line 34 Laun
  • C语言中打印结果如何保留两位、三位小数以及整数?

    首先我们要保证我们输入是double类型的数据 第二步当然是打印a xff0c 我们要知道打印double 类型的数据打印 时需要使用占位符 f xff08 在输入数据时用 lf xff09 那么打印保留两位数 xff0c 我们应该怎么做呢

随机推荐