《Advanced Linux Programming》读书笔记(1)

简介:
动态加载共享库,这个知识点书上简单提了下,我做了个简单例子加深印象

main.c
复制代码
#include  <stdio.h>
#include  <dlfcn.h>

int main(int argc, char** argv)
{
void* handle = dlopen ("libreciprocal .so", RTLD_LAZY); 
double  (*reciprocal)(int) = dlsym (handle, "reciprocal"); 
int  num;
num = atoi(argv[1]);
printf(“%d 的倒数是%g\n”,num, reciprocal(num)); 
dlclose (handle); 
return 0;
}
复制代码
reciprocal.hpp

复制代码
#ifdef __cplusplus 
extern "C" {
#endif 
 
extern double reciprocal (int i); 
 
#ifdef __cplusplus 
#endif     
复制代码
reciprocal.cpp

复制代码
#include <cassert> 
#include "reciprocal.hpp" 
 
double reciprocal (int i) {
  // I should be non-zero. 
  assert (i != 0); 
  return 1.0/i; 
复制代码
具体编译过程:



注:这里我将共享库放置在/home/phinecos/lib下,



本文转自Phinecos(洞庭散人)博客园博客,原文链接:http://www.cnblogs.com/phinecos/archive/2009/03/23/1419884.html,如需转载请自行联系原作者

目录
相关文章
|
5月前
|
缓存 IDE Linux
《Linux是怎么样工作的》读书笔记(二)
《Linux是怎么样工作的》读书笔记
44 0
《Linux是怎么样工作的》读书笔记(二)
|
5月前
|
存储 缓存 固态存储
《Linux是怎么样工作的》读书笔记(一)
《Linux是怎么样工作的》读书笔记
99 0
《Linux是怎么样工作的》读书笔记(一)
|
12月前
|
消息中间件 存储 网络协议
《硬核linux攻略》读书笔记更新中
《硬核linux攻略》读书笔记更新中
|
Shell Linux Perl
《Linux Shell脚本攻略》读书笔记
《Linux Shell脚本攻略》读书笔记
178 0
|
存储 Shell Linux
《Linux命令行与shell脚本编程大全》读书笔记————第一章 初识Linux shell
本章内容 1、什么是Linux 2、Linux内核的组成   1、1 什么是Linux Linux课划分为以下四部分 a)Linux内核 b)GNU工具 c)图形化桌面环境 d)应用软件   1.1.1 深入探究Linux内核 内核主要负责以下四种功能 a)系统内存管理 b)软件程序管理 c)硬件设备管理 d)文件系统管理   1、系统内存管理 内核不仅管理服务器上的可用内存,还可以创建和管理虚拟内存(即实际上不存在的内存)。
1250 0
|
关系型数据库 Linux
《Linux就该这么学》读书笔记
cat /proc/cpuinfo lsmod 安装VNC服务 重置root密码: image.png RPM操作: image.png 日期: image.
1258 0
《Linux内核设计与实现》读书笔记 - 目录 (完结)
《Linux内核设计与实现》读书笔记 - 目录 (完结) 读完这本书回过头才发现, 第一篇笔记居然是 2012年8月发的, 将近一年半的时间才看完这本书(汗!!!).
|
7月前
|
存储 安全 编译器
[笔记]读书笔记 C++设计新思维《一》基于策略的类设计(下)
[笔记]读书笔记 C++设计新思维《一》基于策略的类设计(下)
|
7月前
|
存储 算法 Java
[笔记]读书笔记 C++设计新思维《二》技术(Techniques)(二)
[笔记]读书笔记 C++设计新思维《二》技术(Techniques)(二)
|
7月前
|
安全 Java C++
[笔记]读书笔记 C++设计新思维《一》基于策略的类设计(上)
[笔记]读书笔记 C++设计新思维《一》基于策略的类设计