Source code visualization tools?

Mike Hearn mh at codeweavers.com
Mon Mar 29 03:48:45 CST 2004


On Sun, 28 Mar 2004 19:05:55 -0600, Joel Konkle-Parker wrote:
> I'm basically looking for something that will help me "see" how a
> program is laid out so that I can start working on it.

I don't think an automatic tool would be very good at this with Wine. It's
a ridiculously complicated codebase, not through choice mind you, that's
just the way Windows is.

Really at some point we should provide better high level developer
documentation like this - I remember finding it confusing too.

Basically, the most important code is all in the dlls/ directory. The
other directories are either supporting code (for booting the emulator,
unicode tables etc) or are holdovers from the old code layout (windows/)
and is being slowly moved into the dlls/ directories. The code in windows/
is a part of USER, basically.

Knowing the windows architecture helps. Basically in NT based systems you
get:

* NTDLL - low level OS services, threading, file io etc). the so called
"native" API
* KERNEL - Win32 "layer", really mostly a set of forwarders to NTDLL 
* USER - random stuff - core windowing mostly, as well as clipboard and a
few widgets like the button control, edit box, menus etc
* COMCTL32 - Widget library. More advanced/modern controls like the
toolbar, rebar, tree view etc. Pretty straightforward
* OLE* - Our COM/OLE implementation.

Is that what you meant? Best way to learn the source is by reading it, and
then asking about the parts you don't understand basically.

thanks -mike




More information about the wine-devel mailing list