linux 下动态库、静态库嵌套使用
linux下静态库嵌套使用
前提是你会在linux下调用静态库和动态库和Makfile编程(当然不会Makfile直接在终端命令也成)
本例是先由StringLen.h,StringLen.c生成librak.a
然后利用StringLen2.h,StringLen2.并调用librak.a生成librak2.a
最后利用StringLen3.h,StringLen3.c调用librak2.a 生成librak3.so
--------------------------------------------------------------------------------------
#StringLen.h:
#ifndef _STRINGLEN_H__
#define _STRINGLEN_H__
int Strlen(char *pStr);
#endif
#StringLen.c:
#include<stdio.h>
#include<assert.h>
#include "StringLen.h"
int Strlen(char *pStr)
{
unsigned long ulLength;
assert(NULL != pStr);
ulLength = 0;
while(*pStr++)
{
ulLength++;
}
return ulLength;
}
gcc -Wall -c *.c
ar rc librak.a *.o
------------------------------------------------------------------------------------
#StringLen2.h:
#ifndef _STRINGLEN_H2__
#define _STRINGLEN_H2__
#ifdef __UDT
#include "StringLen.h"
#endif
int Strlen2(char *pStr);
#endif
#StringLen2.c:
#include<stdio.h>
#include<assert.h>
#include "StringLen2.h"
int Strlen2(char *pStr)
{
unsigned long ulLength;
#ifdef __UDT
ulLength = Strlen(pStr);
#else
ulLength = -1;
#endif
return ulLength;
}
gcc -Wall -c *.c -D__UDT
ar rc librak2.a *.o
------------------------------------------------------------------------------------
相关文档:
用户可以用任何编辑程序来编写Shell程序。因为Shell程序是解释执行的,所以不需要编译成目的程序。按照Shell编程的惯例,以 bash为例,程序的第一行一般为“#!/bin/bash”,其中 # 表示该行是注释,叹号 ! 告诉Shell运行叹号之后的命令并用文档的其余部分作为输入,也就是运行/bin/bash并让/bin/bash去执行Shel ......
这两天在给自己的linux系统添加触摸屏,熟练以后再想办法移植。因为以前从来没有接触过这方面只是,只是在银行,超市,移动用过而已,几乎对开发没有任何帮助。于是我在windows中安装使用,确定没有问题。
1.从官方网站下站windowsXP驱动,WWW.touchkit.com。
2.下载后完文件夹里有个setup,安装软件。
3.在不断按&ldquo ......
Linux I2C核心、总线与设备驱动
注:
在linux2.6.32版本中有这样的代码与注释:
struct i2c_driver {
unsigned int class;
/* Notifies the driver that a new bus has appeared or is about to be
* removed. You should avoid using this if y ......
不知道在什幺时候,转载Linux 出现了 module 这种东西,的确,它是 Linux 的一大革新。有了 module 之后,写
device driver 不再是一项恶梦,修改 kernel 也不再是一件痛苦的事了。因为你不需要每次要测试 driver 就重新
compile kernel 一次。那简直是会累死人。Module 可以允许我们动态的改变 kernel,加载 device
dri ......
前言:
我们在这一节将要讨论linux下文件操作的各个函数.
1.文件的创建和读写
2.文件的各个属性
3.目录文件的操作
4.管道文件
--------------------------------------------------------------------------------
1。文件的创建和读写
......