mirror of
https://gitlab.eurecom.fr/oai/openairinterface5g.git
synced 2026-07-13 04:30:28 +00:00
- make internal links relative where applicable - delete link to the wiki, as the documentation is in the main repo, not the wiki - remove some "example in oai code" as the examples either don't exist, or are not in that place, and we can reasonably expect people to grep Signed-off-by: Robert Schmidt <robert.schmidt@openairinterface.org>
18 lines
1.1 KiB
Markdown
18 lines
1.1 KiB
Markdown
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
|
|
|
|
# OAI shared library loader
|
|
|
|
Shared libraries usage is modularization mechanism which provides the following advantages:
|
|
1. Prevents including in the main executable code which is not used in a given configuration
|
|
1. Provides flexibility, several implementation of a given functionality can be chosen at run-time, without any compilation step. For example you can build several devices (USRP, BladeFR, LimeSDR) and choose which one you want to use on the command line or via the configuration.
|
|
1. Makes code evolution easier: as soon as the shared library interface is clearly defined, you can work on the functionality implemented in a shared library while regularly updating the other components of the code. You can decide to develop your own version of a functionality, decide to deliver it or not, letting the user decide wwhat version he wants to use.
|
|
|
|
The main drawback is a performance cost at init time, when loading libraries.
|
|
|
|
|
|
## Documentation
|
|
|
|
* [runtime usage](loader/rtusage.md)
|
|
* [developer usage](loader/devusage.md)
|
|
* [module architecture](loader/arch.md)
|