CompilandDetails
Informacje compiland są podzielone między symbole z tagiem SymTagCompiland
(niskim szczegółem) i tagiem SymTagCompilandDetails
(wysoki poziom szczegółów). SymTagCompilandDetails
zawiera wiele informacji o compiland, które nie są dostępne z symbolem SymTagCompiland
.
Właściwości
W poniższej tabeli przedstawiono właściwości, które są prawidłowe dla tego typu symbolu.
Właściwości | Typ danych | opis |
---|---|---|
IDiaSymbol::get_backEndBuild | DWORD |
Numer kompilacji zaplecza kompilatora. |
IDiaSymbol::get_backEndMajor | DWORD |
Numer wersji głównej zaplecza kompilatora. |
IDiaSymbol::get_backEndMinor | DWORD |
Numer wersji pomocniczej zaplecza kompilatora. |
IDiaSymbol::get_compilerName | BSTR |
Nazwa kompilatora, który wyprodukował ten kompilator (tylko w zestawie DIA SDK w wersji 8.0 lub nowszej). |
IDiaSymbol::get_editAndContinueEnabled | BOOL |
TRUE jeśli opcja Edytuj i Kontynuuj została włączona podczas kompilacji. |
IDiaSymbol::get_frontEndBuild | DWORD |
Numer kompilacji frontonu kompilatora. |
IDiaSymbol::get_frontEndMajor | DWORD |
Numer wersji głównej frontonu kompilatora. |
IDiaSymbol::get_frontEndMinor | DWORD |
Numer wersji pomocniczej frontonu kompilatora. |
IDiaSymbol::get_hasDebugInfo | BOOL |
TRUE Jeśli ten współzasąd ma informacje o debugowaniu (tylko w zestawie DIA SDK w wersji 8.0 lub nowszej). |
IDiaSymbol::get_hasManagedCode | BOOL |
TRUE jeśli ten compiland zawiera kod zarządzany (tylko w zestawie DIA SDK w wersji 8.0 lub nowszej). |
IDiaSymbol::get_hasSecurityChecks | BOOL |
TRUE jeśli kompilator został skompilowany z przełącznikiem kompilatora /GS (sprawdzanie zabezpieczeń buforu) (tylko w zestawie DIA SDK w wersji 8.0 lub nowszej). |
IDiaSymbol::get_isCVTCIL | BOOL |
TRUE jeśli compiland został przekonwertowany z kodu common intermediate language (CIL) na kod macierzysty. |
IDiaSymbol::get_isDataAligned | BOOL |
TRUE jeśli typy zdefiniowane przez użytkownika (UDT) zostały wyrównane do określonej granicy pamięci (tylko w zestawie DIA SDK w wersji 8.0 lub nowszej). |
IDiaSymbol::get_isHotpatchable | BOOL |
TRUE Jeśli kompilator compiland został skompilowany za pomocą przełącznika kompilatora /hotpatch (Utwórz obraz z możliwością poprawiania na gorąco) (tylko w zestawie DIA SDK w wersji 8.0 lub nowszej). |
IDiaSymbol::get_isLTCG | BOOL |
TRUE Jeśli kompilator compiland został skompilowany z przełącznikiem kompilatora /LTCG (generowanie kodu w czasie połączenia) (tylko w zestawie DIA SDK w wersji 8.0 lub nowszej). |
IDiaSymbol::get_isMSILNetmodule | BOOL |
Wartość TRUE, jeśli compiland jest modułem języka Microsoft Intermediate Language (MSIL) (tylko w zestawie DIA SDK w wersji 8.0 lub nowszej). |
IDiaSymbol::get_language | DWORD |
Język kodu źródłowego. |
IDiaSymbol::get_lexicalParent | IDiaSymbol* |
Symbol dla compiland. |
IDiaSymbol::get_lexicalParentId | DWORD |
Identyfikator symbolu nadrzędnego leksykalnego. |
IDiaSymbol::get_platform | DWORD |
Platforma, na której został skompilowany element compiland (jedna z wartości wyliczenia CV_CPU_TYPE_e). |
IDiaSymbol::get_symIndexId | DWORD |
Identyfikator indeksu symbolu. |
IDiaSymbol::get_symTag | DWORD |
Zwraca SymTagCompilandDetails (jedna z wartości wyliczenia SymTagEnum). |
Uwagi
Kompilatory często mają postać znaną jako kompilator dwuprzepustowy; w niektórych wersjach kompilatora każda passa jest obsługiwana przez oddzielny program. Są one nazywane odpowiednio kompilatorami frontonu i zaplecza, dlatego właściwości symboli dla numerów wersji zaplecza i frontonu.