linux应用程序开发(第2版),创建和使用库章节中共享库的测试(摘录)
来源:互联网 发布:python快速建站 编辑:程序博客网 时间:2024/06/09 02:35
linux应用程序开发(第2版),创建和使用库章节中共享库的测试
linux应用程序开发(第2版)(author: Michael K. Johnson)不错,只不过翻译过程中带来一些晦涩难懂讲解,总体来说,对于我来说感觉不错。就共享库的一个简单例子,记录一下测试过程。
1、创建一个小的共享库,库的名称为libhello,所需源文件如下:
/* libhello.c */
#include <stdio.h>
#include "libhello.h"
void print_hello(void)
{
printf("Hello, library. ");
return;
}
#include <stdio.h>
#include "libhello.h"
void print_hello(void)
{
printf("Hello, library. ");
return;
}
/* libhello.h */
void print_hello(void);
void print_hello(void);
用来测试库libhello的usehello程序如下:
/* usehello.c */
#include "libhello.h"
int main(void)
{
print_hello();
return 0;
}
#include "libhello.h"
int main(void)
{
print_hello();
return 0;
}
1)为libhello共享库构造目标文件
gcc -fPIC -Wall -g -c libhello.c
2)构建libhello库,同时使用 -lc连接到C库
gcc -shared -g -Wl,-soname,libhello.so.0 -o libhello.so.0.0 libhello.o -lc
3)创建一个从libname到库文件名的符号连接
ln -sf libhello.so.0.0 libhello.so.0
ln -sf libhello.so.0 libhello.so
5)测试,构建测试程序
gcc -Wall -g -c usehello.c -o usehello.o
gcc -g -o usehello -L$(pwd) -lhello
gcc -g -o usehello -L$(pwd) -lhello
-L$(pwd),指定指定到当前目录中搜索共享库
-lhello, 指定库,即libhello.so
6)最后运行测试程序
LD_LIBRARY_PATH=$(path) ./usehello
OK. 我们可以看到输出:
Hello, library.
http://blog.csdn.net/sonic1984/archive/2005/11/11/527708.aspx
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1702575
- linux应用程序开发(第2版),创建和使用库章节中共享库的测试(摘录)
- Linux中共享库so的创建(细节注意)
- Linux下共享库的创建和使用示例
- BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第6章节--在SharePoint2013中开发、集成和构建应用程序
- BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第6章节--在SharePoint2013中开发、集成和构建应用程序 SharePoint2013中可用的开发模型
- Linux应用程序中加载和连接共享库
- BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第10章节--SP2013中OAuth概览 创建和管理应用程序身份
- BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第14章节--使用Office Services开发应用程序 WOPI和新的Office Web Apps Server
- BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第14章节--使用Office Services开发应用程序 WORD自动服务和新的PowerPoint自动服务
- BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第14章节--使用Office Services开发应用程序 Excel Services中新功能
- Linux中创建 静态库和动态库(共享库) 本人亲测可行
- BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第6章节--在SharePoint2013中开发、集成和构建应用程序 总结
- SP2010开发和VS2010专家"食谱"--第二章节--工作流(3)--创建工作流里的任务
- linux下动态共享库的创建,使用与更新(包括ldconfig的使用)
- linux下动态共享库的创建,使用与更新(包括ldconfig的使用)
- linux下动态共享库的创建,使用与更新(包括ldconfig的使用)
- linux下动态共享库的创建,使用与更新(包括ldconfig的使用)
- linux下的C语言共享库和静态库的创建和使用
- ASP.NET设计中的性能优化问题
- a
- Java入门:浅谈DAO模式
- 最后的舞,请与我一起跳
- ABAP--如何创建自定义打印条码
- linux应用程序开发(第2版),创建和使用库章节中共享库的测试(摘录)
- ASP.NET2.0新特性概述
- Java数据访问对象(DAO)编程模入门
- 在VS2005下用C#制做WEB安装包
- JavaScript Debugger-Firefox使用体会
- 在RAD7中开发JSR168 Portlet (二)
- 《为什么时光不能倒流》UnixCenter的奖品!
- 怎样才能成为PHP高手?学会"懒惰"的去编程
- 分页存储过程(增加了选择字段列表、排序方式参数)