首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

制作 与 使用 (Linux下)

动静态制作 前置知识 要学会制作动态,必须要有软硬链接知识的基础,大家可以移步至该文章:软链接和硬链接的详解 (Linux系统下)-CSDN博客 的基本构造 问题 问题: 我们都知道代码有源文件...分为静态和动态,静态以.a结尾,动态以.so结尾 的生成 静态的生成 问题: 若我们有如下文件:myprint.c,mymath.c,myprint.h,mymath.h,请问我们要干什么呢...(还没有完哦) 的使用 我们直接将刚刚制作的output文件夹给用户使用就好啦~~~ 自己制作的使用有三种办法 放进系统查找库函数的路径下(静态) 导入环境变量(动态) 放入...法三:放入配置文件 这种方法是推荐的,Linux中有一个专门让我们放置配置文件的,/etc/ld.so.conf.d/这个路径是保存自定义配置搜索路径的解决方案 步骤 进入该目录下 cd...,保存退出 退出后,ldconfig 使得该配置文件生效 这样子我们就可以直接使用这个啦 使用的命令 gcc main.c -I 自己的的头文件的路径 -L 自己的文件路径

8010

Linux文件制作方法详解

大家好,继上节,这节我们继续讲解如何在Linux系统上创建我们需要的文件 在创建程序之前,需要先来了解GCC的一些参数,因为静态和共享需要GCC工具产生,并且两者的GCC参数不同...目标文件需要创建成位置无关码,概念上就是在可执行程序装载它们的时候,它们可以放在可执行程序的内存里的任何地方 -shared 生成动态链接 我们编写两个函数并将文件制作文件,用下面相同的代码分别制作静态和共享...Test.h" int add(int a, int b) { return (a+b); } int sub(int a, int b) { return (a - b); } 制作静态...,表示静态函数在本目录下查找 制作共享 生成共享 // 用下面两个命令 gcc -fPIC -o libTest.o -c Test.c gcc -shared -o libTest.so libTest.o...结束语 到目前为止,我们详细讲解了Linux制作静态、共享、以及动态加载,希望通过此文对你在Linux的认识有所帮助,那么目的就达到了

2.1K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    linux制作静态和动态链接的方法

    静态 .o文件的集合 制作 ar -cr libxxx.a xxx1.o xxx2.o xxx3.o ......Linux中静态文件的后缀为"a"。 静态的代码在编译时就已经链接到应用程序中 静态中的各个成员(.o文件)没有特殊的存在格式,仅仅是一个.o文件的集合。...–lmylib -static指定编译器链接静态,-L.指定静态的路径为当前路径, 在gcc编译器中引用可搜索到的目录和文件时需用(-l+名), 如在gcc中加入-lm可以在程序汇中链接标准算术...,加上-lpthread可以链接到linux标准线程 总结: 使用静态可以使程序不依赖于任何其他而独立运行,但是会占用很多内存空间以及磁盘空间, 而且如果文件更新,则需重新编译源代码...============================================ 动态 并不包含在可执行文件中 在执行时才加载动态 制作 gcc -shared -fPIC xxx.c

    3.1K20

    静态和动态制作

    ---- 一、静态和动态介绍 1、静态 程序在编译链接的时候把的代码链接到可执行文件中,程序运行的时候将不再需要静态。...二、静态制作及使用 静态的名字是以 lib 开头,以 .a 结尾,例:libmylib.a 静态生成的指令: ar rcs libmylib.a file1.o 1、准备好源码 test.c #...\n"); return a - b; } sub.h int sub_fun(int, int); 2、编译源码生成 .o 文件 gcc -c sub.c -o sub.o 3、制作静态...三、动态制作及使用 动态的名字是以 lib 开头,以 .so 结尾,例:libmylib.so 1、生成位置无关的 .o 文件 gcc -c sub.c -o sub.o -fPIC 使用...-fPIC 这个参数过后,生成的函数就和位置无关,挂上 @plt 标识,等待动态绑定 2、制作动态 gcc -shared -o libmymath.so sub.o 3、使用动态 -l :指定

    21920

    制作本地私有

    制作本地私有 就是创建一个仓库, 存储在本地, 在本地的其他工程中直接使用 制作流程: 创建一个文件夹,把你需要拆分的代码放到文件夹中(例如:基类,分类,工具类等) 然后通过终端把你的这个文件夹进行git...{h,m}" s.requires_are = true 进行完上面的步骤,你简单的本地私有就已经搭建好了 使用本地 你现在可以进行主工程项目进行cocoapods管理 cd 进入你的主工程 pod...以上方法制作私有的缺点 需要手动创建podspec文件(pod spec create xxx(你创建的文件夹的名字)) 没有使用git管理,手动使用git进行管理(git add...)...无法测试, 需要再次手动创建测试工程 制作本地私有优化方案 使用pod lib 命令创建pod模板工程 步骤 进入需要存放本地的文件夹 pod lib create xxx (你创建的私有的名字...制作之后效果文件目录 ? 编辑私有入口 ?

    62660

    学习|Android制作开源

    ,于是研究了一下制作开源的方法,这里做一个学习笔记 必备条件 想到制作开源的必备条件是要有一个GitHub的账号,常看过我文章的朋友应该也知道,我有不少Demo的下载地址也是直接放在了GitHub,...制作开源 01 GitHub创建项目 我们在GitHub中创建一个androidtestlib的项目,因为我是先做了一遍,所以这里已经创建好了 ?...这样我们的开源就已经发布完成了。 查看并使用开源 ?...微卡智享 查看发布的开源 当我们Release我们的开源之后,就可以登录JitPack来查看开源的情况,比如查看我的开源情况,账号同我们的Github,可以自动登陆的 https://jitpack.io...开源的使用 刚才图上有介绍开源的使用 ?

    52410

    Linux:基础IO(三.软硬链接、动态和静态、动精态制作和加载)

    上次介绍了基础IO(二):Linux:基础IO(二.缓冲区、模拟一下缓冲区、详细讲解文件系统) 1.软硬链接 1.1硬链接 硬链接(Hard Link)是Linux系统中的一种文件链接方式,它允许多个文件名指向同一个...除非系统自己给目录建立硬链接:.和.. 2.动态和静态 1.1回顾 ldd是一个Linux命令,用于打印出一个可执行文件或共享的动态链接依赖关系。...剩下的就是真实名称 1.2静态制作和使用 为什么要有 提高代码的重用性和开发效率:中包含了经过封装和优化的代码片段,可以提供常用功能和服务。...1.3动态制作和使用 形成.o文件与生成共享 上面我讲解了,静态制作和使用,我们在形成.o文件时,都是使用gcc -c code.c ==> code.o。...名规则:libxxx.so: 在Linux系统中,共享通常遵循特定的命名约定。它们通常以lib开头,后跟的名字(例如xxx),并以.so结尾。

    15910

    Linux】详解动静态制作和使用&&动静态在系统中的配置步骤

    二、动态和静态制作和使用 2.1、静态制作和使用 先将我们的.c文件或者是.cpp文件形成.o文件,指令为: gcc/g++ -c 要形成的.o文件名 .c文件  假设在我当前目录下有...但是,当我们去编译的时候,gcc编译器是不认识我们这个静态的,gcc默认只能识别lib64目录下的C标准,要让gcc链接我们的,需要在指令中指明哪一个让gcc链接。...(-L + 路径表示myc这个在哪个路径下) 2.2、动态制作和使用 fPIC:产生位置无关码,在将.c或者.cpp形成.o文件时,需要加上-fPIC。...但是,在ubuntu系统下你会发现,动态使用静态的链接方法我们的动态系统还是找不到(此处特制ubuntu系统,其它系统可能可以正常运行),这时我们就只能将我们的动态拷贝到系统的usr/lib目录下...因为-L只是告诉gcc编译器动态在哪里,但没有告诉系统动态在哪里,所以在要运行时系统会找不到动态。 那如何解决呢?

    41010
    领券