- Hands-On System Programming with C++
- Dr. Rian Quinn
- 182字
- 2021-07-02 14:42:32
Dynamic libraries
Dynamic libraries are libraries that are linked at load time. Dynamic libraries are more like executables without an entry point. They contain code needed by your program, and the load-time linker is responsible for providing the location of each required function to your program while your program is being loaded.
It is also possible for your program to link itself while it executes during runtime as an optimization, only linking functions that are needed (a process known as lazy loading).
Most of the libraries provided by the operating system are dynamic libraries. To see which dynamic libraries are needed by your program, you can use the LDD tool, as follows:
> ldd a.out
linux-vdso.so.1 (0x00007ffdc5bfd000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f92878a0000)
/lib64/ld-linux-x86-64.so.2 (0x00007f9287e93000)
In this example, we used the LDD tool to list the dynamic libraries needed by our simple Hello World\n example. As shown, the following libraries are needed:
- vdso: a library provided by the operating system to speed up the process of making system calls
- libc: the standard C library
- ld-linux-x86-64: the dynamic linker itself, responsible for lazy-loading
- LibGDX Game Development Essentials
- InfluxDB原理與實戰
- Modern Programming: Object Oriented Programming and Best Practices
- Neural Network Programming with TensorFlow
- Learn Unity ML-Agents:Fundamentals of Unity Machine Learning
- Ceph源碼分析
- INSTANT Cytoscape Complex Network Analysis How-to
- Hands-On Mathematics for Deep Learning
- Power BI商業數據分析完全自學教程
- Python金融數據分析(原書第2版)
- 探索新型智庫發展之路:藍迪國際智庫報告·2015(下冊)
- 數據庫原理與應用
- MySQL數據庫技術與應用
- 數字化轉型方法論:落地路徑與數據中臺
- Flume日志收集與MapReduce模式