Linux静态/动态链接库的创建和使用
和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
******************
相关文档:
原文:http://blog.csdn.net/jackyvan/archive/2010/01/15/5193693.aspx
其实VIM也能把编译 调试集成在一起,像是一个IDE一样。
首先现在VIM的源码,因为要集成调试环境的话需要重新编译VIM才行,所以我们不如重新安装一个。
VIM的现在地址:
http://www.vim.org/sources.php
然后下载VIMGDB,这是vim的集成调试环境的 ......
文件传输协议 (FTP) 是一个 TCP 协议,用于在计算机之间上传和下载文件。FTP 工作在客户端/服务器模式下。服务器组件被称为 FTP 守护程序。它持续不断地临听来自远程客户端的 FTP 请求。当一个请求到达时,它管理登录和建立连接。在整个会话期间它执行 FTP 客户端发送来的任何命令。 可以通过两种方式来管理 FTP 服务器 ......
Linux电子书下载——第一部分: Linux基础应用
第一部分:Linux基础应用
1、《Linux从入门到精通》
http://www.gouhuo.com/study/linuxbook.zip
2、 Linux 系统安全与优化中文版
这本书的英文版“Get Acquainted with Linux Security and Optimization System”(简称LinuxSOS)是Linux文档计划( ......
Spool常用的设置
set colsep' '; //域输出分隔符
set echo off; //显示start启动的脚本中的每个sql命令,缺省为on
set feedback off; //回显本次sql命令处理的记录条数,缺省为on
set heading off; //输出域标题,缺省为on
set pagesize 0; //输出每页行数,缺省为24,为了避免分页, ......