17 lines
1.0 KiB
Markdown
17 lines
1.0 KiB
Markdown
The loader objectives are
|
|
1. provides a common mechanism to prevent an executable to include code that is only used under specific configurations, without rebuilding the code
|
|
1. Provide a common mechanism to allow to choose between different implementations of a given set of functions, without rebuilding the code
|
|
|
|
As a developer you may need to look at these sections:
|
|
|
|
* [loading a shared library](devusage/loading.md)
|
|
* [loader API](devusage/api.md)
|
|
* [loader public structures](devusage/struct.md)
|
|
|
|
Loader usage examples can be found in oai sources:
|
|
|
|
* device and transport initialization code: [function `load_lib` in *targets/ARCH/COMMON/__common_lib.c__* ](https://gitlab.eurecom.fr/oai/openairinterface5g/blob/develop/targets/ARCH/COMMON/common_lib.c#L91)
|
|
* turbo encoder and decoder initialization: [function `load_codinglib`in *openair1/PHY/CODING/__coding_load.c__*](https://gitlab.eurecom.fr/oai/openairinterface5g/blob/develop/openair1/PHY/CODING/coding_load.c#L113)
|
|
|
|
[loader home page](../loader.md)
|