re: Understanding the classical model for linking: Sometimes you don't want a...
@Bob: Haven't you seen #ifdef abused to break source files into multiple object files? I have.Filler text to get past spam filter.
View Articlere: The enduring cultural fascination with Queen's Bohemian Rhapsody
C'mon! The very best is "Lost Rhapsody", a synopsis of the first season of Lost set to Weird Al's version of the Bohemian Rhapsody.
View Articlere: The enduring cultural fascination with Queen's Bohemian Rhapsody
Um, forgot to include the link: www.youtube.com/watch
View Articlere: Understanding the classical model for linking: Taking symbols along for...
Can someone come up with a more concrete scenario then?[See the entire printf discussion. -Raymond]
View Articlere: Understanding the classical model for linking: Sometimes you don't want a...
受益匪浅(I've got a lot from your blog!),谢谢(thanks)
View Articlere: What's the guidance on when to use rundll32? Easy: Don't use it
@nitpickery: I hate the fact that /LARGEADDRESSAWARE is the same flag for /3GB and for 64-bit, despite not being the same problem: The problem with /3GB is the possibility of "negative" pointers, while...
View Articlere: The enduring cultural fascination with Queen's Bohemian Rhapsody
Funny you say that, It's happening here as I type.
View Articlere: Understanding errors in classical linking: The delay-load catch-22
Why delayload it at all? What happens if you statically link it? I'm sure all hell breaks loose, but I'm not so sure why.
View Articlere: Understanding errors in classical linking: The delay-load catch-22
It means the linker was dumb. When it gets to Apply DELAYLOAD, and a referenced library is nowhere to be found but it was found earlier, silently drop it.@configurator: You can't statically link to...
View Articlere: Understanding errors in classical linking: The delay-load catch-22
@configurator:Documentation says to use /DELAYLOAD if you won't use the DLL at all or not until the end of the code. So, I figure you are saving memory and load time.One other possibility is for...
View Articlere: Understanding errors in classical linking: The delay-load catch-22
@Joshua: It seems fairly obvious from the context that configurator means why not place a static dependency on the DLL.
View Articlere: Understanding errors in classical linking: The delay-load catch-22
@Joshua: "@configurator: You can't statically link to system DLL files."No, but you can put in a hard dependency (i.e. a proper not delay-loaded dependently), which I think is what configurator...
View Articlere: Understanding errors in classical linking: The delay-load catch-22
If I understand this correctly: the linker's left hand doesn't know what its right hand is doing, so you have to pass an /IGNORE switch to prevent it from confusing itself.
View Articlere: Understanding errors in classical linking: The delay-load catch-22
'Why delayload it at all?'You pay the cost of loading it when your EXE is started (or DLL is loaded) even if you won't use it for a while, if at all.'You can't statically link to system DLL...
View Articlere: Understanding errors in classical linking: The delay-load catch-22
"Why is this a dangerous option? What can you do to make it less dangerous?"I think this is what Configurator is wondering about, and me as well. What is so dangerous about the standard default implib...
View Articlere: Understanding errors in classical linking: The delay-load catch-22
Is the danger specific to SHLWAPI?[SHLWAPI was merely an example. (What an odd question. You may as well refine it to "Is the danger specific to the HashData function?") -Raymond]
View Articlere: Understanding errors in classical linking: The delay-load catch-22
Still hoping for some elaboration on function level linking. Wasn't /GL intended to be the silver bullet to solve all these cases?[As noted in the article, function level linking is applied after the...
View Articlere: Understanding errors in classical linking: The delay-load catch-22
[The danger is that you are now loading the target DLL at startup rather than on demand, which slows down your app's startup time and increases its memory usage]- but only after another subtle change...
View Articlere: Understanding errors in classical linking: The delay-load catch-22
Is function level linking indeed a synonym for removing unused functions? /GL and /OPT:REF are different switches, one could reasonably hope that function level linking does more than that.[As...
View Articlere: Understanding errors in classical linking: The delay-load catch-22
"As noted in the article, function level linking is applied after the classical link pass."Raymond, the phrase "function level linking" does not appear in the article. I assume that Ofek simply didn't...
View Article