Shachar Shemesh wrote:
Ordering should be done by the following criteria:
1. If A depends on B, but B does not depend on A, A must appear
higher than B.
2. If rule 1 did not resolve relative order, and A has more modules
dependant on it than B, A must appear higher.
3. If neither rules resolved the order, make it arbitrary.
These two criteria make sure that the matrix is triangle shaped unless
there's a circular dependancy. Also, these rules make sure that modules
that depend on other modules and are heavily linked to, such as
kernel32, are higher up than modules that depend on no other modules and
are not linked to, such as actxprxy.
If you want, I can write some perl to create such a table from the
available information.
Also, get rid of the dups. Here's an example:
# c:\windows\system32/rsaenh.dll imports:
advapi32.dll
advapi32.dll
kernel32.dll
kernel32.dll
msvcrt.dll
msvcrt.dll
mswsock.dll
ntdll.dll
user32.dll
user32.dll
ws2_32.dll
- Dan
--
Dan Kegel
http://www.kegel.com
http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=78045