[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.
|