《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,如需转载请自行联系原作者

相关文章
|
10月前
|
《Linux是怎么样工作的》读书笔记(二)
《Linux是怎么样工作的》读书笔记
88 0
《Linux是怎么样工作的》读书笔记(二)
《Linux是怎么样工作的》读书笔记(一)
《Linux是怎么样工作的》读书笔记
151 0
《Linux是怎么样工作的》读书笔记(一)
《Linux Shell脚本攻略》读书笔记
《Linux Shell脚本攻略》读书笔记
229 0
《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、系统内存管理 内核不仅管理服务器上的可用内存,还可以创建和管理虚拟内存(即实际上不存在的内存)。
1304 0
《Linux就该这么学》读书笔记
cat /proc/cpuinfo lsmod 安装VNC服务 重置root密码: image.png RPM操作: image.png 日期: image.
1306 0
《Linux内核设计与实现》读书笔记 - 目录 (完结)
《Linux内核设计与实现》读书笔记 - 目录 (完结) 读完这本书回过头才发现, 第一篇笔记居然是 2012年8月发的, 将近一年半的时间才看完这本书(汗!!!).
[笔记]读书笔记 C++设计新思维《一》基于策略的类设计(下)
[笔记]读书笔记 C++设计新思维《一》基于策略的类设计(下)
C++ Primer Plus 第6版 读书笔记(8)第 8章 函数探幽(二)
C++ Primer Plus 第6版 读书笔记(8)第 8章 函数探幽(二)
103 1
[笔记]读书笔记 C++设计新思维《二》技术(Techniques)(二)
[笔记]读书笔记 C++设计新思维《二》技术(Techniques)(二)
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等