加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

如何创建和使用Linux静态/动态链接库

发布时间:2016-09-04 22:32:31 所属栏目:Linux 来源:站长网
导读:和Windows系统一样Linux也有静态/动态链接库,下面介绍创建和使用方法: 假设有下面几个文件: 头文件String.h,声明相关函数原形,内容如下: Strlen.c:函数S
副标题[/!--empirenews.page--]

和Windows系统一样Linux也有静态/动态链接库,下面介绍创建和使用方法:

假设有下面几个文件:

头文件String.h,声明相关函数原形,内容如下:

Strlen.c:函数Strlen的实现,获取给定字符串的长度,内容如下:

Strlnen.c:函数StrNlen的实现,获取给定字符串的长度,如果输入字符串的长度大于指定的最大长度,则返回最大长度,否者返回字符串的实际长度,内容如下:

生成静态库:

利用GCC生成对应目标文件:

gcc –c Strlen.c Strnlen.c

如果对应的文件没有错误,gcc会对文件进行编译生成Strlen.o和Strnlen.o两个目标文件(相当于windows下的obj文件)。然后用ar创建一个名字为libstr.a的库文件,并把Strlen.o 和Strnlen.o的内容插入到对应的库文件中。,相关命令如下:

ar –rc libstr.a Strlen.o Strnlen.o

命令执行成功以后,对应的静态库libstr.a已经成功生成。

<span style="font-size:18px;"><strong>/*********************************** 
Filename : String.h 
Description : 
Author   : HCJ 
Date     : 2006-5-7 
************************************/
      
      
int Strlen(char *pStr);  
int StrNlen(char *pStr, unsigned long ulMaxLen);  
      
       
      
/************************************** 
Filename    : get string length 
Description  :  
Author      : HCJ 
Date        : 2006/5/7 
**************************************/
#include<stdio.h>  
#include<assert.h>  
      
int Strlen(char *pStr)  
{  
    unsigned long ulLength;  
    assert(NULL != pStr);  
      
    ulLength = 0;  
    while(*pStr++)  
    {  
        ulLength++;  
    }  
      
    return ulLength;  
}  
      
       
      
**********************************************  
Fileneme: mystrnlen.c  
Description: get input string length,if string large  
             max length input return max length,  
             else real length  
Author: HCJ  
Date  : 2006-5-7  
**********************************************/  
      
#include<stdio.h>  
#include<assert.h>  
      
int StrNlen(char *pStr, unsigned long ulMaxLen)  
{  
    unsigned long ulLength;  
      
    assert(NULL != pStr);  
      
    if(ulMaxLen <= 0)  
    {  
        printf("Wrong Max Length!n");  
        return -1;  
    }  
      
    ulLength = 0;  
    while(*pStr++ &&  ulLength < ulMaxLen)  
    {  
        ulLength++;  
    }  
      
    return ulLength;  
}  
</strong></span>

本文URL地址:http://www.bianceng.cn/OS/Linux/201410/45420.htm

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读