|

Software system linkage using the static and dynamic libraries

Authors: Lutsuk R.A., Melnikov D.V., Novikov T.A.
Published in issue: #7(84)/2023
DOI: 10.18698/2541-8009-2023-7-921


Category: Instrument Engineering, Metrology, Information-Measuring Instruments and Systems | Chapter: Solid-state electronics, radioelectronic components, micro - and nanoelectronics

Keywords: programming, software, design, compilation, linkage, linker, static and dynamic libraries, project assembly
Published: 27.07.2023

The paper considers the final stage in compiling a program, namely the linkage stage, i. e. linking the already compiled code fragments and the code of all the other libraries into a single file. Mechanism of the BFD (Binary File Descriptor) library operation and features of its application are described. Static and dynamic libraries were compared. Linker operation and its interaction with various object files were analyzed using the GNU linker, as the example. Besides, advantages and disadvantages of the static and dynamic libraries were considered in terms of such parameters, as the occupied memory of the executable file and the linkage period.


References

[1] Bryant R.E., O’Hallaron D.R. Computer Systems: A Programmer’s Perspective. Pearson India Education Services Pvt. ltd., 2016, 1043 p. (Russ. Ed.: Brayant R.E., O’Khallaron D.R. Komp’yuternye sistemy: arkhitektura i programmirovanie. Moscow, DMK Press Publ., 2022, 994 p.).

[2] Aho A.V., Lam M.S., Sethi R., Ullman J.D. Compilers Principles, Techniques, and Tools. Pearson Education Inc., 2007, 1038 p. (Russ. Ed.: Akho A., Lam M.S., Seti R., Ul’man D. Kompilyatory: printsipy, tekhnologii i instrumenty. Moscow, Dialektika Publ., 2020, 1184 p.).

[3] Taylor I.L., Chamberlain S. The GNU linker. GNU ld. version 2. GNU ORG, 1994, 96 p.

[4] Chamberlain S. LIB BFD, the Binary File Descriptor Library. BFD version < 3.0. GNU ORG, 1991.

[5] Kernighan B., Ritchie D. The C Programming Language. Prentice Hall, 1988, 217 p. (Russ. Ed.: Kernigan B., Ritchi D. Yazyk programmirovaniya Si. Moscow, Vil’yams Publ., 2019, 288 p.).

[6] Demin A.A., Karpunin A.A., Ganev Yu.M. Verification and validation methods for complex software systems. Programmnye produkty i sistemy, 2014, no. 4, pp. 229–233. (In Russ.). http://doi.org/10.15827/0236-235x.108.229-233

[7] Karpunin A.A., Ganev Yu.M., Chernov M.M. Quality assurance methods in the design of complex software systems. Reliability & quality of complex systems, 2015, no. 2 (10), pp. 78–84. (In Russ.).

[8] Vlasov A.I., Karpunin A.A., Kuryshev R.E. Visual modeling of smart-technologies of project management. Nadezhnost’ i kachestvo. Tr. mezhdunar. simpoziuma: sb. dokl. [Reliability and quality. Proceedings of the international symposium: collection of papers]. Penza, PGU Publ., 2020, vol. 1, pp. 64–70. (In Russ.).