导航:首页 > 文件类型 > linux把子程序做成库文件

linux把子程序做成库文件

发布时间:2023-01-21 16:23:22

linux下怎么 调用 和生成 静态库

Linux库有动态与静态两种,动态通常用.so为后缀,静态用.a为后缀。例如:libhello.so libhello.a 为了在同一系统中使用不同版本的库,可以在库文件名后加上版本号为后缀,例如: libhello.so.1.0,由于程序连接默认以.so为文件后缀名。所以为了使用这些库,通常使用建立符号连接的方式。 ln -s libhello.so.1.0 libhello.so.1 ln -s libhello.so.1 libhello.so 动态库和静态库的区别: 当要使用静态的程序库时,连接器会找出程序所需的函数,然后将它们拷贝到执行文件,由于这种拷贝是完整的,所以一旦连接成功,静态程序库也就不再需要了。然而,对动态库而言,就不是这样。动态库会在执行程序内留下一个标记‘指明当程序执行时,首先必须载入这个库。由于动态库节省空间,linux下进行连接的缺省操作是首先连接动态库,也就是说,如果同时存在静态和动态库,不特别指定的话,将与动态库相连接。 两种库的编译产生方法: 第一步要把源代码编绎成目标代码。以下面的代码hello.c为例,生成hello库: /* hello.c */ #include void sayhello() { printf("hello,world\n"); } 用gcc编绎该文件,在编绎时可以使用任何全法的编绎参数,例如-g加入调试代码等

Ⅱ linux怎么把文件夹弄成svn库

你得创建一个svn库
svnadmin create /var/www/
然后把文件放进去然后再commit就可以了

Ⅲ [求助-西门子PLC200]200PLC程序 给别人,他不能打开里面内容查看,但是他可以用该程序 .

最好的办法是:1,通过加密POU主程序(OB1),这样没有密码是打不程序的,只能下载。2,把子程序做成库文件,能用子程序的全部用库文件形式做出来,这样即使别人有密码都无法打开,因为只有源程序才能识别打开。这样做了就天衣无缝,别人连看都没的看,更就不用担心会修改程序了。POU的加密是在编程软件里的---查看--属性。子程序做成库是在编程软件里的---文件---新建库。如图:《西门子 S7-200?LOGO!?SITOP 参考》V0.92版(更新版)(2008.02.15) 下载: http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=A0136查看---用户自定义指令库,有详细介绍。 查看更多答案>>

Ⅳ LInux 如何使用GCC编译器将一个文件夹下的100个.o文件打包成一个静态库文件(.a)

你已来经用gcc编译出目标文件自了,用ar工具打包成.a文件就行了啊,示例:


如上图,假设我有test1.c,test2.c两个源文件,先使用gcc -c *.c将源文件编译成目标文件,可以看到,生成了test1.o,test2.o两个目标文件,然后,使用ar命令:ar crv libtest.a *.o将该目录下的所有目标文件打包生成了libtest.a文件。这样,你在编译的时候就可以直接使用这个静态库了。

Ⅳ Linux 可执行程序 配置文件 动态库 怎么打包成一个软件

tar? 或者参考den,redhat 他们的包管理软件.(复杂一些).
无非就是将各个文件放到指定的地方罢了.

tar --exclude=".svn" --exclude=".git" \
-hczf dist.tar.gz -C $(DIST_DIR) . \
--numeric-owner --owner=0 --group=0

在target上运行以下指令以解压包:
gzip -dc dist.tar.gz
tar -xvf - -C /
你试下可以不,如果你想学习更多的linux的知识的话你可以去看下http://www.linuxprobe.com/chapter-00.html希望对你有帮助啊

Ⅵ 怎么在Linux中eclipse建立自己的库

建立自己的库?问得太含糊了,是创建一个生成linux库文件的工程?还是其他?

Ⅶ 如何在linux下用matlab生成动态链接库

首先如何制作Linux下的so 文件

首先让我们来看一下,把库函数推迟到程序运行时期载入的好处:

1.可以实现进程之间的资源共享。

什么概念呢?就是说,某个程序的在运行中要调用某个动态链接库函数的时候,操作系统首先会查看所有正在运行的程序,看在内存里是否已有此库函数的拷贝了。如果有,则让其共享那一个拷贝;只有没有才链接载入。这样的模式虽然会带来一些“动态链接”额外的开销,却大大的节省了系统的内存资源。C的标准库就是动态链接库,也就是说系统中所有运行的程序共享着同一个C标准库的代码段.

2.将一些程序升级变得简单。用户只需要升级动态链接库,而无需重新编译链接其他原有的代码就可以完成整个程序的升级。Windows 就是一个很好的例子。

3.甚至可以真正坐到链接载入完全由程序员在程序代码中控制。

程序员在编写程序的时候,可以明确的指明什么时候或者什么情况下,链接载入哪个动态链接库函数。你可以有一个相当大的软件,但每次运行的时候,由于不同的操作需求,只有一小部分程序被载入内存。所有的函数本着“有需求才调入”的原则,于是大大节省了系统资源。比如现在的软件通常都能打开若干种不同类型的文件,这些读写操作通常都用动态链接库来实现。在一次运行当中,一般只有一种类型的文件将会被打开。所以直到程序知道文件的类型以后再载入相应的读写函数,而不是一开始就将所有的读写函数都载入,然后才发觉在整个程序中根本没有用到它们

步骤:

首先建立一个函数文件fun.cpp 以及头文件 fun.h

[cpp]view plain

  • exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/你的库目录

  • (2)
  • 更改/etc/ld.so.conf,添加我们的库目录,然后执行ldconf

    需要root权限

    (3)加入/user/lib 或者/usr/lib64看你的机器位数,貌似拷贝的方法最凑效了,其他方法有时候行不通

    Ⅷ linux怎样将开源软件做成动态链接库

    tar.gz 是用tar命令将源码文件打包成一个文件,然后用zip命令压缩成一个压缩包,所以在安装前要解压缩,命令如下:tar -xvzf test.tar.gz完成后会生成一个解压缩后的目录,进入该目录,查看readme文件或者install文件,里面有详细的安装命令。一般的安装步骤是./configure 回车make 回车make install 回车make clean 回车如果configure没有通过,说明你的系统环境没有达到要求,该软件所依赖的文件没有被安装,需要根据提示信息来具体分析。以上的各个命令只是最常用的使用方式,还有比较实用的参数没有介绍,可以自己查看帮助文档。

    Ⅸ 怎么在linux下将自己的C++程序封装成库文件

    GCC是Linux操作系统下一个非常重要的源代码编译工具,C、C++都可以通过gcc编译后来执行,案例如下: 在屏幕上打印"Hello,Linux." #include#includeint main(int argc,char **argv) { printf("Hello,Linux.\n"); exit(0); }将源文件保存为hello.c...

    Ⅹ linux下将程序中用到的第三方库编译到自己的程序中

    举例,头文件名 abc.h 函数名为 abc_test(); 第三方库头文件目录为/abc/include/ 链接库目录为/abc/lib/ 1、头文件和源文件:这是最好的情况,引用头文件和相关函数即可。 如:#include "abc.h" abc_test();//直接调用即可 编译时,Makefile中加入编译选项 -I/abc/include 为了能将库的头文件引进来。 而且你的程序运行时,不再需要这个第三方库。 2、静态链接库:引用头文件和相关函数,设提供的静态库名为 libabc.lib 编译时,Makefile中加入 编译选项 1)-I/abc/include #编译时加,为了能将库的头文件引进来; 2)-L/abc/lib -labc #链接时加的 而且你的程序运行时,不再需要这个第三方库。 3、动态链接库,设动态链接库为libabc.so 调用动态链接库文件,需要dlopen等函数 编译时,Makefile中加入 编译选项 1)-I/abc/include #编译时加,为了能将库的头文件引进来; 2)-L/abc/lib -labc #链接时加的 注意:你的程序运行时,需要这个第三方库的libabc.so文件。

    阅读全文

    与linux把子程序做成库文件相关的资料

    热点内容
    logo竞赛教程 浏览:481
    贵阳去哪里学编程比较好 浏览:132
    java将string转为json 浏览:291
    ppt2013制作exe文件 浏览:80
    linux文件只读不能复制 浏览:597
    开关代码 浏览:91
    word绘图板 浏览:359
    苹果minecraftpe注册 浏览:775
    ps怎么存储文件卡 浏览:728
    微信清除缓存图片恢复 浏览:305
    安卓app会闪退怎么解决 浏览:429
    哪些app背单词是免费的 浏览:889
    cf击杀图标放哪个文件夹 浏览:208
    为什么我的炉石不能查看完整数据 浏览:179
    苹果7音量按键不回弹 浏览:296
    u盘两个系统可以放一个文件夹吗 浏览:538
    linuxshell变量累加 浏览:386
    win10控制面板怎么看 浏览:574
    如何编程换装游戏程序 浏览:269
    怎么登录沭阳县民政局网站 浏览:451

    友情链接