O'Reilly logo

Shared Source CLI Essentials by Ted Neward, Geoff Shilling, David Stutz

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Appendix D. Rotor Macrology

The Jargon Dictionary provides the following definition for “macrology “:

macrology (mak-rol'*-jee) n. 1. Set of usually complex or crufty macros , e.g., as part of a large system written in LISP, TECO, or (less commonly) assembler. 2. The art and science involved in comprehending a macrology in sense. 3. Sometimes studying the macrology of a system is not unlike archeology, ecology, or theology, hence the sound-alike construction. See also boxology.

When hacking or browsing Rotor’s code, you will encounter a number of exotic (and not-so-exotic) macros sprinkled through the code. What follows is a FAQ-like catalog of some of the more important ones. This list should help you understand what the macros do, where you should use them, and where they can be found in the source code. It is by no means complete; consult the documentation that is part of the source code distribution, as well as the header files themselves, to get more information.

The developer documentation that ships with Microsoft’s commercial version of the CLI will also be useful when chasing down API definitions. In particular, the SDK include files, which are documented in the Tool Developer’s Guide (which can be found in a subdirectory of the SDK), contain information on the profiling, metadata, error, and debugging APIs that is applicable to Rotor, although it is not completely accurate. (Remember, Rotor was begun using the commercial code base but evolved significantly.) When conflicts ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required