The code loading runtime of Unix is different from the one that Windows has. We must become aware of how the system exactly works before we make a dynamically loading module. Unix has the shared objects with the .so extension that encapsulate lines of code that the programs will use and the functions names. These function names become the references of those functions in the memory of the program when the file is combined with the program. In Windows the .dll file (dynamic-link library file) doesn’t have references and the code of the files does not link to the memory of the program but they get through a lookup table which points to data or functions. Unix has just one type of library file, with the .a extension and the code of many object file is contained within with the .o extension. When the link is created for a shared object file the definition of the identifier may not be found, so the object code from the library will be included.
No comments:
Post a Comment