//--------------------------------------------------------------------------
static char comment[] = "Sample1 plugin for Hex-Rays decompiler";
//--------------------------------------------------------------------------
//
// PLUGIN DESCRIPTION BLOCK
//
//--------------------------------------------------------------------------
plugin_t PLUGIN =
{
IDP_INTERFACE_VERSION,
0, // plugin flags
init, // initialize
term, // terminate. this pointer may be NULL.
run, // invoke plugin
comment, // long comment about the plugin
// it could appear in the status line
// or as a hint
"", // multiline help about the plugin
"Decompile & Print", // the preferred short name of the plugin
"" // the preferred hotkey to run the plugin
};
编译时的出错信息:
------ Rebuild All started: Project: IDA52_Plugin, Configuration: Debug Win32 ------
Deleting intermediate and output files for project 'IDA52_Plugin', configuration 'Debug|Win32'
Compiling...
cl : Command line warning D9007 : '/Gm' requires '/Zi or /ZI'; option ignored
Hexrays_My_1.cpp
D:\Program Files\IDA5.2\sdk\include\ua.hpp : warning C4819: The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss
D:\Program Files\IDA5.2\sdk\include\ua.hpp : warning C4819: The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss
e:\program\microsoft visual studio 8\vc\platformsdk\include\oaidl.h(756) : error C2143: syntax error : missing '}' before 'constant'
e:\program\microsoft visual studio 8\vc\platformsdk\include\oaidl.h(756) : error C2143: syntax error : missing ';' before 'constant'
e:\program\microsoft visual studio 8\vc\platformsdk\include\oaidl.h(756) : error C2059: syntax error : 'constant'
e:\program\microsoft visual studio 8\vc\platformsdk\include\oaidl.h(758) : error C2143: syntax error : missing ';' before '}'
e:\program\microsoft visual studio 8\vc\platformsdk\include\oaidl.h(758) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
e:\program\microsoft visual studio 8\vc\platformsdk\include\oaidl.h(773) : error C2146: syntax error : missing ';' before identifier 'funckind'
e:\program\microsoft visual studio 8\vc\platformsdk\include\oaidl.h(773) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
e:\program\microsoft visual studio 8\vc\platformsdk\include\oaidl.h(773) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
e:\program\microsoft visual studio 8\vc\platformsdk\include\oaidl.h(7008) : error C2059: syntax error : '}'
e:\program\microsoft visual studio 8\vc\platformsdk\include\oaidl.h(7008) : error C2143: syntax error : missing ';' before '}'
e:\program\microsoft visual studio 8\vc\platformsdk\include\oaidl.h(7008) : error C2059: syntax error : '}'
e:\program\microsoft visual studio 8\vc\platformsdk\include\msxml.h(277) : error C2143: syntax error : missing ';' before '{'
e:\program\microsoft visual studio 8\vc\platformsdk\include\msxml.h(277) : error C2447: '{' : missing function header (old-style formal list?)
E:\Program\Microsoft Visual Studio 8\VC\PlatformSDK\include\propidl.h(1433) : error C2732: linkage specification contradicts earlier specification for 'BSTR_UserSize'
E:\Program\Microsoft Visual Studio 8\VC\PlatformSDK\include\propidl.h(1433) : see declaration of 'BSTR_UserSize'
E:\Program\Microsoft Visual Studio 8\VC\PlatformSDK\include\propidl.h(1434) : error C2732: linkage specification contradicts earlier specification for 'BSTR_UserMarshal'
E:\Program\Microsoft Visual Studio 8\VC\PlatformSDK\include\propidl.h(1434) : see declaration of 'BSTR_UserMarshal'
E:\Program\Microsoft Visual Studio 8\VC\PlatformSDK\include\propidl.h(1435) : error C2732: linkage specification contradicts earlier specification for 'BSTR_UserUnmarshal'
E:\Program\Microsoft Visual Studio 8\VC\PlatformSDK\include\propidl.h(1435) : see declaration of 'BSTR_UserUnmarshal'
E:\Program\Microsoft Visual Studio 8\VC\PlatformSDK\include\propidl.h(1436) : error C2732: linkage specification contradicts earlier specification for 'BSTR_UserFree'
E:\Program\Microsoft Visual Studio 8\VC\PlatformSDK\include\propidl.h(1436) : see declaration of 'BSTR_UserFree'
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(78) : error C2011: 'reg_info_t' : 'struct' type redefinition
D:\Program Files\IDA5.2\sdk\include\idp.hpp(1469) : see declaration of 'reg_info_t'
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(84) : error C2011: 'funcarg_info_t' : 'struct' type redefinition
D:\Program Files\IDA5.2\sdk\include\typeinf.hpp(1711) : see declaration of 'funcarg_info_t'
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(90) : error C2011: 'func_type_info_t' : 'struct' type redefinition
D:\Program Files\IDA5.2\sdk\include\typeinf.hpp(1718) : see declaration of 'func_type_info_t'
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(126) : error C2953: 'qstack' : class template has already been defined
D:\Program Files\IDA5.2\sdk\include\pro.h(1133) : see declaration of 'qstack'
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(176) : error C2084: function 'bool is_type_signed(til_t *,const type_t *)' already has a body
D:\Program Files\IDA5.2\sdk\include\typeinf.hpp(1819) : see previous definition of 'is_type_signed'
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(177) : error C2084: function 'bool is_type_unsigned(til_t *,const type_t *)' already has a body
D:\Program Files\IDA5.2\sdk\include\typeinf.hpp(1820) : see previous definition of 'is_type_unsigned'
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(366) : error C3861: 'vd_skip_type': identifier not found
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(393) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(396) : error C2027: use of undefined type 'func_type_info_t'
D:\Program Files\IDA5.2\sdk\include\typeinf.hpp(1718) : see declaration of 'func_type_info_t'
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(396) : error C2227: left of '->resize' must point to class/struct/union/generic type
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(400) : error C2027: use of undefined type 'funcarg_info_t'
D:\Program Files\IDA5.2\sdk\include\typeinf.hpp(1711) : see declaration of 'funcarg_info_t'
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(400) : error C2228: left of '.argloc' must have class/struct/union
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(401) : error C2027: use of undefined type 'funcarg_info_t'
D:\Program Files\IDA5.2\sdk\include\typeinf.hpp(1711) : see declaration of 'funcarg_info_t'
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(401) : error C2228: left of '.name' must have class/struct/union
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(402) : error C2027: use of undefined type 'funcarg_info_t'
D:\Program Files\IDA5.2\sdk\include\typeinf.hpp(1711) : see declaration of 'funcarg_info_t'
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(402) : error C2228: left of '.type' must have class/struct/union
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(404) : error C2027: use of undefined type 'func_type_info_t'
D:\Program Files\IDA5.2\sdk\include\typeinf.hpp(1718) : see declaration of 'func_type_info_t'
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(404) : error C2227: left of '->stkargs' must point to class/struct/union/generic type
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(405) : error C2027: use of undefined type 'func_type_info_t'
D:\Program Files\IDA5.2\sdk\include\typeinf.hpp(1718) : see declaration of 'func_type_info_t'
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(405) : error C2227: left of '->flags' must point to class/struct/union/generic type
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(406) : error C2027: use of undefined type 'func_type_info_t'
D:\Program Files\IDA5.2\sdk\include\typeinf.hpp(1718) : see declaration of 'func_type_info_t'
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(406) : error C2227: left of '->basetype' must point to class/struct/union/generic type
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(408) : error C2027: use of undefined type 'func_type_info_t'
D:\Program Files\IDA5.2\sdk\include\typeinf.hpp(1718) : see declaration of 'func_type_info_t'
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(408) : error C2227: left of '->rettype' must point to class/struct/union/generic type
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(408) : error C2027: use of undefined type 'func_type_info_t'
D:\Program Files\IDA5.2\sdk\include\typeinf.hpp(1718) : see declaration of 'func_type_info_t'
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(408) : error C2227: left of '->retfields' must point to class/struct/union/generic type
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(408) : error C2027: use of undefined type 'func_type_info_t'
D:\Program Files\IDA5.2\sdk\include\typeinf.hpp(1718) : see declaration of 'func_type_info_t'
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(408) : error C2227: left of '->retloc' must point to class/struct/union/generic type
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(409) : error C2027: use of undefined type 'func_type_info_t'
D:\Program Files\IDA5.2\sdk\include\typeinf.hpp(1718) : see declaration of 'func_type_info_t'
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(409) : error C2227: left of '->cc' must point to class/struct/union/generic type
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(782) : error C2011: 'type_visitor_t' : 'struct' type redefinition
D:\Program Files\IDA5.2\sdk\include\typeinf.hpp(1511) : see declaration of 'type_visitor_t'
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(1767) : error C2264: 'is_type_unsigned' : error in function definition or declaration; function not called
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(1768) : error C2264: 'is_type_signed' : error in function definition or declaration; function not called
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(2513) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(2519) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(2525) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(2537) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(2619) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(2625) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(2667) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(2673) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(2685) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(2773) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(2779) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(2785) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(2833) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(2839) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(2851) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(2893) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(2899) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(2905) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(2911) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(2917) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(2965) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(3015) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(3063) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(3117) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(3123) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(3129) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(3135) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(3141) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(3147) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(3153) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(3159) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(3165) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(3171) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(3183) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(3189) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(3195) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(3201) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(3213) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(3219) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(3225) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(3231) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(3237) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Program Files\IDA5.2\sdk\include\hexrays.hpp(3243) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
Build log was saved at "file://e:\program\Microsoft Visual Studio 8\VC\my_project\IDA52_Plugin\IDA52_Plugin\Debug\BuildLog.htm"
IDA52_Plugin - 49 error(s), 47 warning(s)
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========