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
******************
相关文档:
例一:发送Signaling Packet:
Signaling Command是2个Bluetooth实体之间的L2CAP层命令传输。所以得Signaling Command使用CID 0x0001.
多个Command可以在一个C-frame(control frame)中发送。
如果要直接发送Signaling Command.需要建立SOCK_RAW类型的L2CAP连接Socket。这样才有机会自己填充Command Code,Identi ......
一. 以root身份建立tuxedo用户,并以tuxedu用户登陆,此用户将做为以后tuxedo管理员,用户默认目录为/home/tuxedo;
二. 用FTP把安装文件(tuxedo81_linux.bin)和用户许可证书文件(lic.txt)传到/home/tuxedo目录中;
三. 配置环境变量,.bash_profile文件,附文末;
四. 进入/home/tuxedo目录中,执行s ......
如果你正在学习Linux操作系统,不知从哪里入手,可以参考下面给出的9点建议,还有一点是本人附加的,Linux程序工程师非常吃香,以后肯定是个火红职业。不管怎样,只要努力的学,后果很美好。
1.掌握至少50个以上的常用命令。
比如:安装和登录命令:login、 shutdown、 halt、 reboot 、mount、umount 、chsh
文件处理命 ......
[转贴]一条Linux命令,一段人类文明
http://blog.csdn.net/wooin/archive/2006/10/20/1342637.aspx
sniper在其BLOG
中
写道:今天偶然在一个博客上看到关于Linux中日期隐含一段历史的介绍,很好奇,按照别人介绍的方法试验了下。 CODE: cal 9 1752
就可以看到: September 1752 S M Tu W Th F S 1 2 14 15 16 ......