[prev in list] [next in list] [prev in thread] [next in thread]
List: wine-devel
Subject: Re: Source code visualization tools?
From: Joel Konkle-Parker <jjk3 () msstate ! edu>
Date: 2004-03-29 16:02:19
Message-ID: c49haa$p1e$2 () sea ! gmane ! org
[Download RAW message or body]
Mike Hearn wrote:
> 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 for the quick explanation. If I come up against something, I'll
post here...
--
Joel Konkle-Parker
Webmaster [Ballsome.com]
E-mail [jjk3@msstate.edu]
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic