Wrapping up our week of
understanding the classical model for linking,
we'll put together all the little pieces we've learned this week
to puzzle out a linker problem:
The delay-load catch-22.
You do some code cleanup,
then rebuild your project, and you get
LNK4199: /DELAYLOAD:SHLWAPI ignored; no imports found from SHLWAPI
What does this er...
Continuing our study of
the classical model for linking,
let's take another look at the trick of
taking symbols along for the ride.
The technique of taking symbols along for the ride is quite handy
if that's what you want,
but sometimes you don't actually want it.
For example, a symbol taken along for the ride may create
conflicts or create unw...
If you study the classical model for linking, you'll see that OBJ files provided directly to the linker have a special property: They are added to the module even if nobody requests a symbol from them.
OBJs bundled into a library are pulled into the module only if they are needed to resolve a needed symbol request. If nobody needs a symbol in the...
Last time, we learned the basics of
the classical model for linking.
Today, we'll look at the historical background for that model,
and how the model is exploited by libraries.
In the classical model,
compilers and assemblers consume source code and spit out
an OBJ file.
They do as much as they can, but eventually they get stuck
because they do...