linux

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2011年4月25日

摘要: 生成静态链接库/动态链接库的makefile如下:#CC:=arm-linux-gccCFLAGS := -I..LDFLAGS := -lpthread -lrtSRCS := $(wildcard *.c)ifdef ARCHlibclient := libclient-$(ARCH).aelselibclient := libclient.aendifall: $(libclient) libclient.so$(libclient): client.o net.o $(AR) -rcv $@ $^libclient.so: client.o net.o $(CC) -shared -o 阅读全文
posted @ 2011-04-25 11:08 h13 阅读(2201) 评论(0) 推荐(0) 编辑

摘要: 读取一个文件,类似IP=192.168.1.8NETMASK=255.255.255.0格式的文件,并对文件进行解析,得到其key和value,可以读取相应key的value值,也可以得到配置相应的value;typedef struct item_t { char *key; char *value;}ITEM;/* *去除字符串右端空格 */char *strtrimr(char *pstr){ int i; i = strlen(pstr) - 1; while (isspace(pstr[i]) && (i >= 0)) pstr[i--] = '\0&# 阅读全文
posted @ 2011-04-25 10:55 h13 阅读(17257) 评论(1) 推荐(2) 编辑

摘要: 同样以触摸屏的适配器tslib中的函数进行描述,如何从当前的环境变量中读取一个环境变量,并利进行文件的解析,下面先对几个程序看几个将要用到的函数:FILE * fopen(const char * path,const char * mode); 函数功能: 打开一个文件 函数原型:FILE * fopen(const char * path,const char * mode); 相关函数:open,fclose,fopen_s[1] ,_wfopen 所需库: <stdio.h> 返回值: 文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代 阅读全文
posted @ 2011-04-25 10:43 h13 阅读(1195) 评论(0) 推荐(0) 编辑

摘要: 在应用程序中经常需要用到打印错误信息的函数,以便我们能更方便地调试。考虑到程序的可扩展性,将对该函数作如下的封装:static int stderrfn(const char *fmt, va_list ap){ return vfprintf(stderr, fmt, ap);}/* * Change this hook to point to your custom error handling function. */int (*ts_error_fn)(const char *fmt, va_list ap) = stderrfn;int ts_error(const char *fm 阅读全文
posted @ 2011-04-25 10:32 h13 阅读(448) 评论(0) 推荐(0) 编辑

摘要: linux下加载动态链接库的方法:以下以触摸屏为例:介绍是如何加载一下共享库的。首先让我们看看以下几个函数:dlopen() 功能:打开一个动态链接库 包含头文件: #include <dlfcn.h> 函数定义: void * dlopen( const char * pathname, int mode ); 函数描述: 在dlopen的()函数以指定模式打开指定的动态连接库文件,并返回一个句柄给调用进程。使用dlclose()来卸载打开的库。dlclose(handle); 功能:关闭一个动态链接库dlsym() 函数原型: void* dlsym(void* handle, 阅读全文
posted @ 2011-04-25 10:29 h13 阅读(4067) 评论(0) 推荐(0) 编辑