Skip to main content

Development and Use of Dynamic Link Libraries Generated Under Various Calling Conventions

  • Conference paper
  • First Online:
Information Technology and Systems (ICITS 2021)

Part of the book series: Advances in Intelligent Systems and Computing ((AISC,volume 1330))

Included in the following conference series:

Abstract

Dynamic-link libraries are mainly used to extend the functionalities of the applications, decrease the use of memory, and disk space since it allows the reuse of code and procedures, sharing their access between multiple processes, applications, threads, or services. In this work, the coding of dynamic-link libraries and their generation under different calling conventions (stdcall, cdecl, and fastcall) are presented. The entire process is focused on 32-bits Windows operating systems, with TDM-GCC like the compiler and CodeLite like the IDE.Compared to using 64-bit libraries, there are many implementation and usage issues with 32-bit libraries, issues that this study address. An experimental result is presented in which a dynamic link library is created that is imported and used to give access to the data obtained from a RPLIDAR A1M8-R2 radar. The entire process of generating and using libraries in programming languages C, C++, Java, Python, C#, and VisualBasic is documented. The experimental result was carried out using Visual C++, Matlab 2015B, Unity 5.6.7f1, and Python.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 169.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 219.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Hurd, C.C.: Early computers at IBM. Annal Hist. Comput. 3(2), 163–182 (1981)

    Article  MathSciNet  Google Scholar 

  2. Ryckman, G.F.: 17. the IBM 701 computer at the general motors research laboratories. Annals Hist. Comput. 5(2), 210–212 (1983)

    Google Scholar 

  3. Walsh, J.E., Redmon, W.: Method and system for dynamic-link library, December 1994. https://patentimages.storage.googleapis.com/5c/6c/86/c7f62b3fb9b181/US5375241.pdf

  4. Corporation, M.: What is a DLL? December 2019. https://support.microsoft.com/en-us/help/815065/what-is-a-dll

  5. Young, M.J.: Software Tools for OS/2: Creating Dynamic Link Libraries. Addison-Wesley Longman Publishing Co. Inc, Boston (1989)

    Google Scholar 

  6. David, R., Lemmon, J.L.S.: Creating and Using Dynamic-Link Libraries, pp. 191–218. Springer, New York (2005)

    Google Scholar 

  7. Hammond, R.P., Simsbury, C.: Method and system for dynamic interception of function calls to dynamic link libraries into a windowed operating system, August 2004. https://patentimages.storage.googleapis.com/e9/6b/88/5ab25990bc5463/US6779187.pdf

  8. Cobertson, C., Leavitt, S., N.S.F.X: x64 calling convention, June 2020. https://docs.microsoft.com/en-us/cpp/build/x64-calling-convention?view=vs-2019

  9. Ortega-Cabezas, P.M., Colmenar-Santos, A., Borge-Diez, D., Blanes-Peiró, J.J.: Application of rule-based expert systems in hardware-in-the-loop simulation case study: Software and performance validation of an engine electronic control unit. J. Softw. Evol. Process 32(1), e2223 (2020). https://onlinelibrary.wiley.com/doi/abs/10.1002/smr.2223. e2223 JSME-18-0154.R2

  10. Fog, A.: Calling convention for different CPP compilers and operating systems, December 2019. https://www.agner.org/optimize/calling_conventions.pdf

  11. Cai, S., Mikeblome, ., C.R.M.J.G.J.M.S: Argument passing and naming conventions (2019). https://docs.microsoft.com/en-us/cpp/cpp/argument-passing-and-naming-conventions?view=vs-2019

  12. Nirsoft: Dll export viewer. https://www.nirsoft.net/utils/dll_export_viewer.html

  13. Batchelor, D., Satran, M.: File system redirector, May 2018. https://docs.microsoft.com/en-us/windows/win32/winprog64/file-system-redirector

  14. Corporation, M.: Calling convention enum, October 2018. https://docs.microsoft.com/en-us/dotnet/api/system.runtime.interopservices.callingconvention?view=netframework-4.8

  15. Caputo, L.: Working with DLLs, November 2014. https://docs.microsoft.com/en-us/office/client-developer/excel/working-with-dlls

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Cristian Gallardo .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Gallardo, C., Pogrebnoy, A., Varela-Aldás, J. (2021). Development and Use of Dynamic Link Libraries Generated Under Various Calling Conventions. In: Rocha, Á., Ferrás, C., López-López, P.C., Guarda, T. (eds) Information Technology and Systems. ICITS 2021. Advances in Intelligent Systems and Computing, vol 1330. Springer, Cham. https://doi.org/10.1007/978-3-030-68285-9_22

Download citation

Publish with us

Policies and ethics