首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | linux相关 | linux认证 | 下载中心 | 专题
oklinux
 系统管理:中文环境 系统管理 桌面应用 内核技术 Linux基础:安装配置 常用命令 经验技巧 软件应用 Linux数据库:Mysql POSTGRE
 网络管理:网络安全 网络应用 Linux服务器 编程开发:PHP CC++ Python Perl SHELL 嵌入式开发 | PHP基础 PHP技巧 PHP应用 PHP文摘
 首页 linux资讯动态 Linux专题 | 其他Unix Linux解决方案 硬件相关 Linux认证 企业应用 Apache | 相关下载:资料 参考手册 开发工具
 → 当前位置:首页>系统管理>系统管理>正文

关于Linux静态和动态链接库的创建及使用

OKLinux www.oklinux.cn 2007-09-28 来源: kit 会员收藏 游客收藏

本文摘要:和Windows系统一样Linux也有静态/动态链接库,下面介绍创建和使用方法: 假设有下面几个文件: 头文件String.h,声明相关函数原形,内容如下: Strlen.c:函数Strlen的实现,获取给定字符串的长度,内容如下: Strlnen.c:函数StrNlen的实现,获取给定字符串的长度,如

和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已经成功生成。

/***********************************

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;

}
共2页: 上一页 1 [2] 下一页
上一篇:Linux新手指南:关于Nmap的高级用法指南   下一篇:Linux下关于Apache安装、配置、优化

收藏于收藏夹】 【评论】 【推荐】 【投稿】 【打印】 【关闭

相关文章
·解析Linux文件系统的隐藏权限
·Linux操作系统下Display的设置
·Linux系统下修复ThinkPad 一键恢复功能
·Linux系统上进行自动备份的方法步骤
·Linux操作系统的密码破解大全
·关于Linux操作系统的进程管理
·Linux系统下获取从启动到当前的ticks数
·Linux系统下如何监测C程序的内存泄露
·Samba on Debian Linux操作系统应用介绍
·Ubuntu Linux系统下设置Static IP的方法
发表评论
密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。)
站内搜索
阅读排行榜
·使用 ActiveScaffold 增强
·什么是Linux?Linux与UNIX
·提高Linux系统性能加速网
·使用源代码将 Glibc 升级
·Linux操作系统的内核引导
·Ubuntu Linux操作系统中的
·Linux用户(User)和用户
·应用:postfix邮件服务器
·几种Linux嵌入式开发环境
·Linux下推荐的常用应用程
最新文章
·在Linux系统中使用命令进
·Linux系统下的屏幕录像机
·自动挂载UF光盘的方法介绍
·Linux系统下使用Gtodo规划
·Linux系统中设置磁盘定额
·如何在Linux系统里面限制
·如何限制Linux操作系统中
·Vista不支持Linux Samba S
·系统比拼:Linux究竟比Vis
·Ubuntu Linux系统下设置St
·Samba on Debian Linux操
·Linux系统下获取从启动到
·解析Linux文件系统的隐藏
·Linux操作系统下Display的
·Linux系统下修复ThinkPad

设为首页 - 加入收藏 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyright © 2007 All rights reserved OKLinux.Cn 版权所有
合作联系 QQ:18743986 Email:arlan8005#163.com