Talk:Dynamic loading

Latest comment: 14 years ago by Methossant in topic Dynamic Loading vs. Dynamic Linking

Dynamic Loading vs. Dynamic Linking edit

This article doesn't make any difference between Dynamic Loading and Dynamic Linking. Actually, it tells about Dynamic Linking, not Dynamic Loading. See the difference between both in "Operating System Principles" from the author "Abraham Silberschatz" for example. —Preceding unsigned comment added by 83.35.174.59 (talk) 15:35, 10 July 2008 (UTC)Reply

Firstly, Abraham Silbershatz is not the only authority on the subject. Secondly, it is impossible to change the article unless you provide a quote of the relevant text along with a citation (including the exact page numbers).
Michael Safyan (talk) 19:40, 11 July 2008 (UTC)Reply
Note that I am not the first author. However, I looked to find the referenced section and think that "Operating System Concepts" 7th Edition from Silberschatz, Galvin, Gagne ISBN 0-471-69466-5 (2005) is related to what the poster was talking about. Two Subsections on 280 pp. deal with 8.1.4 Dynamic Loading and 8.1.5 Dynamic Linking and shared libraries. I'll try to sum up/paraphrase the content/definitions of the authors:
Dynamic Loading deals with the loading of routines during runtime in general, it enables memory-savings by delaying routine-loading until it is actually called. The calling routine checks whether the callee routine is already loaded. Dynamic loading is implemented by the user but the OS may supply supporting functions.
With Dynamic Linking, linking is postponed to runtime instead of compile time and thus enables the concept of shared libraries in memory as well as on disk. A stub is placed during compile time, instead of the code, which contains information to locate the code in memory or load it. This normally requires OS support.Methossant (talk) 14:49, 10 July 2009 (UTC)Reply
So I think the only big difference between the article and the book currently is that the article focusses more on libraries where the book mentions routines. However the article reflects more the actual current and relevant use that the OS supports Dynamic loading by first letting load the library and then individual functions.
However I do agree and suggest strongly that a "Dynamic linking vs dynamic loading" section is a must-have for the article to achieve its full usefulness.Methossant (talk) 15:12, 10 July 2009 (UTC)Reply

Bad style in example edit

The example calls dlopen("libsdl.so"). This is bad, as this symlink is not going to exist if the development package of SDL is not installed, or it may point to an incompatible version. Please always call dlopen() with the full library SONAME. See more details at http://blogs.adobe.com/penguin.swf/2006/09/librarian.html#comment-36894. 90.151.141.28 (talk) 13:14, 28 February 2009 (UTC)Reply

Delayed loading edit

The article says: "Unlike static linking and delayed loading, this mechanism allows a computer program to startup in the absence of these libraries..."

However with Microsoft Windows, an application that uses Delay-Loaded DLLs will start if the delay-loaded DLLs are absent. The DLLs are not required until the application actually calls a function in the DLL. If the DLL is not available at that point, the application can detect and handle the error. —Preceding unsigned comment added by Mitch Ames (talkcontribs) 13:28, 28 February 2009 (UTC)Reply

I don't like the term either. I am very sure that "delayed loading" here meant the standard loading of libraries at application startup time, with "delayed" referring to the loading at runtime rather than compile time. Anyways, I think the term is not really fit for describing that process and not established. It also leads to confusion with the delay-loading mechanism of Microsoft that you cite, where I second your description and opinion. I replace that term therefore with "Loadtime Linking".Methossant (talk) 16:19, 23 May 2009 (UTC)Reply