Wireshark-dev: Re: [Wireshark-dev] Compiling Wireshark for Win32
From: "Helge Kruse" <Helge.Kruse-nospam@xxxxxxx>
Date: Fri, 12 Aug 2011 12:55:51 +0200
> Von: Gisle Vanem <gvanem@xxxxxxxxxxxx>
> > link /dll /out:libwireshark.dll /def:libwireshark.def
> /implib:libwireshark.lib >nul
> 
> Does it?
Yes.

> Where are the .obj files in this command?
There are neither .obj nor .lib input files.

The linker will complain about missing externals, that's why the ">nul" is useful. Further it won't generate a DLL as long as you don't pass the /FORCE argument to the linker command.

The import library does not contain any information from the actual linking process. All entry point addresses are in the export table of the generated DLL. 

The import library generates public symbols in a jump table, that are used when linking the consuming module. I also has a DLL loader, that opens the DLL, looks up the entry points from the DLL export table and patches the jumpt table. That's called "load time binding".

May be interesting: http://msdn.microsoft.com/en-us/magazine/bb985014.aspx


Helge

-- 
Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de