[pygccxml-commit] SF.net SVN: pygccxml: [1311] pygccxml_dev/pygccxml
Brought to you by:
mbaas,
roman_yakovenko
From: <rom...@us...> - 2008-04-22 19:35:19
|
Revision: 1311 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1311&view=rev Author: roman_yakovenko Date: 2008-04-22 12:35:17 -0700 (Tue, 22 Apr 2008) Log Message: ----------- adding new files Added Paths: ----------- pygccxml_dev/pygccxml/declarations/compilers.py pygccxml_dev/pygccxml/msvc/pdb/kb.txt Added: pygccxml_dev/pygccxml/declarations/compilers.py =================================================================== --- pygccxml_dev/pygccxml/declarations/compilers.py (rev 0) +++ pygccxml_dev/pygccxml/declarations/compilers.py 2008-04-22 19:35:17 UTC (rev 1311) @@ -0,0 +1,19 @@ +# Copyright 2004 Roman Yakovenko. +# Distributed under the Boost Software License, Version 1.0. (See +# accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) + +""" +contains enumeration of all compilers supported by the project +""" + +GCC_XML_06 = "GCC-XML 0.6" +GCC_XML_07 = "GCC-XML 0.7" +GCC_XML_09 = "GCC-XML 0.9" +GCC_XML_09_BUGGY = "GCC-XML 0.9 BUGGY" + +MSVC_PDB_9 = "MSVC PDB 9.0" + +def on_missing_functionality( compiler, functionality ): + raise NotImplementedError( '"%s" compiler doesn\'t support functionality "%s"' + % ( compiler, functionality )) Added: pygccxml_dev/pygccxml/msvc/pdb/kb.txt =================================================================== --- pygccxml_dev/pygccxml/msvc/pdb/kb.txt (rev 0) +++ pygccxml_dev/pygccxml/msvc/pdb/kb.txt 2008-04-22 19:35:17 UTC (rev 1311) @@ -0,0 +1,17 @@ +url: http://www.hightechtalks.com/visual-studio-net-debugging/re-using-dia-sdk-find-360868.html +Q: how to find out member variable offset? +A (By Oleg): +1. Assuming that you have IDiaSymbol interface pointer for the class (UDT) symbol, +use IDiaSymbol::findChildren (with SymTagData as the tag) to lookup the field +with the given name (or all fields). + +2. IDiaSymbol::findChildren will give you IDiaEnumSymbols interface, which you can use +to retrieve IDiaSymbol for the field(s). + +3. Using the field's IDiaSymbol interface, call IDiaSymbol::get_locationType to determine +the location of the field. +If the location is LocIsThisRel, use IDiaSymbol::get_offset to obtain the offset. +If the location is LocIsStatic, use IDiaSymbol::get_addressSection and IDiaSymbol::get_addressOffset, +or IDiaSymbol::get_relativeVirtualAddress, or IDiaSymbol::get_virtualAddress to obtain +the address of the static member. + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |