Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>There are a number of solutions to this problem;</p> <ol> <li>there is of course, the XML documentation.</li> <li><p>You can enable the attributed source output under "C/C++" -> Output Files, "Expand Attributed Source" and also various levels of Assembler Output listings.</p> <p><em>Unfortunately, those methods are fairly laborious and unstructured (i.e. manual cracking of syntax).</em></p></li> <li>RTTI is enabled by-default for all C/C++ projects. This being the fore-runner of C#'s reflection, you can use it to extract very well <a href="http://www.cpptalk.net/1-vt58273.html?start=0" rel="nofollow noreferrer">structured</a> and accurate information.</li> <li>Name Mangling, can be present even when RTTI is not available. C++ binaries may rely on this packed-formulation of the original code deceleration to enable runtime polymorphism's or other oo'ness templeate'd feature ;). Anyhow, even though name mangling is not well documented, there exists an API call in the debug SDK and actually even in the Windows Win32 APi, which will "un decorate" the mangled representation for you. You may then still have to convert the un-decorated format, in any case, it's fairly trivial at that point.</li> <li>PDB files, you can use the DIA SDK to interrogate PDB's which you compiled. There are several level's of verbosity (public vs. private) in the information contained in PDB's but it's usually more than enough. </li> <li>Look at the new-gen compiler, Phoenix, from MSR, it has impressive binary/source introspective capabilities.</li> <li>CodeDom, you can use the MSVC SDK and domain specific language (DSL) libraries to write your own code parser fairly easily.</li> <li>There are actually several other automation and non-DSL API's in MSVC you can use to accomplish something, maybe not as comprehensive, but that depends on your needs. Anyhow, most of the examples and info you can find about these other API's would be written in BASIC, so unless you know VB (I really get stumped every time I have to look at VB code), your millage may vary.</li> <li>I could go on.... ;) but I'm fine with 9.</li> </ol>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload