IDA C++ SDK 9.2
Loading...
Searching...
No Matches
Functions: work with compiler IDs

Topics

 Set compiler flags

Typedefs

typedef qvector< comp_tcompvec_t
 Collection of compiler descriptions.

Functions

THREAD_SAFE comp_t get_comp (comp_t comp)
 Get compiler bits.
idaman const char *ida_export get_compiler_name (comp_t id)
 Get full compiler name.
idaman const char *ida_export get_compiler_abbr (comp_t id)
 Get abbreviated compiler name.
idaman void ida_export get_compilers (compvec_t *ids, qstrvec_t *names, qstrvec_t *abbrs)
 Get names of all built-in compilers.
THREAD_SAFE comp_t is_comp_unsure (comp_t comp)
 See COMP_UNSURE.
comp_t default_compiler ()
 Get compiler specified by inf.cc.
bool is_gcc ()
 Is the target compiler COMP_GNU?
bool is_gcc32 ()
 Is the target compiler 32 bit gcc?
bool is_gcc64 ()
 Is the target compiler 64 bit gcc?
bool gcc_layout ()
 Should use the struct/union layout as done by gcc?
idaman bool ida_export set_compiler (const compiler_info_t &cc, int flags, const char *abiname=nullptr)
 Change current compiler.
bool idaapi set_compiler_id (comp_t id, const char *abiname=nullptr)
 Set the compiler id (see Compiler IDs)
bool idaapi set_abi_name (const char *abiname, bool user_level=false)
 Set abi name (see Compiler IDs)
idaman ssize_t ida_export get_abi_name (qstring *out)
 Get ABI name.
idaman bool ida_export append_abi_opts (const char *abi_opts, bool user_level=false)
 Add/remove/check ABI option General form of full abi name: abiname-opt1-opt2-... or -opt1-opt2-...
idaman bool ida_export remove_abi_opts (const char *abi_opts, bool user_level=false)
idaman bool ida_export set_compiler_string (const char *compstr, bool user_level)
bool use_golang_cc ()
 is GOLANG calling convention used by default?
void switch_to_golang ()
 switch to GOLANG calling convention (to be used as default CC)

Detailed Description

Typedef Documentation

◆ compvec_t

Collection of compiler descriptions.

Function Documentation

◆ get_comp()

THREAD_SAFE comp_t get_comp ( comp_t comp)
inline

Get compiler bits.

◆ get_compiler_name()

idaman const char *ida_export get_compiler_name ( comp_t id)

Get full compiler name.

◆ get_compiler_abbr()

idaman const char *ida_export get_compiler_abbr ( comp_t id)

Get abbreviated compiler name.

◆ get_compilers()

idaman void ida_export get_compilers ( compvec_t * ids,
qstrvec_t * names,
qstrvec_t * abbrs )

Get names of all built-in compilers.

◆ is_comp_unsure()

THREAD_SAFE comp_t is_comp_unsure ( comp_t comp)
inline

◆ default_compiler()

comp_t default_compiler ( )
inline

Get compiler specified by inf.cc.

◆ is_gcc()

bool is_gcc ( )
inline

Is the target compiler COMP_GNU?

◆ is_gcc32()

bool is_gcc32 ( )
inline

Is the target compiler 32 bit gcc?

◆ is_gcc64()

bool is_gcc64 ( )
inline

Is the target compiler 64 bit gcc?

◆ gcc_layout()

bool gcc_layout ( )
inline

Should use the struct/union layout as done by gcc?

◆ set_compiler()

idaman bool ida_export set_compiler ( const compiler_info_t & cc,
int flags,
const char * abiname = nullptr )

Change current compiler.

Parameters
cccompiler to switch to
flagsSet compiler flags
abinameABI name
Returns
success

◆ set_compiler_id()

bool idaapi set_compiler_id ( comp_t id,
const char * abiname = nullptr )
inline

Set the compiler id (see Compiler IDs)

◆ set_abi_name()

bool idaapi set_abi_name ( const char * abiname,
bool user_level = false )
inline

Set abi name (see Compiler IDs)

◆ get_abi_name()

idaman ssize_t ida_export get_abi_name ( qstring * out)

Get ABI name.

Returns
length of the name (>=0)

◆ append_abi_opts()

idaman bool ida_export append_abi_opts ( const char * abi_opts,
bool user_level = false )

Add/remove/check ABI option General form of full abi name: abiname-opt1-opt2-... or -opt1-opt2-...

Parameters
abi_opts- ABI options to add/remove in form opt1-opt2-...
user_level- initiated by user if TRUE (==SETCOMP_BY_USER)
Returns
success

◆ remove_abi_opts()

idaman bool ida_export remove_abi_opts ( const char * abi_opts,
bool user_level = false )

◆ set_compiler_string()

idaman bool ida_export set_compiler_string ( const char * compstr,
bool user_level )
Parameters
compstr- compiler description in form <abbr>:<abiname>
user_level- initiated by user if TRUE
Returns
success

◆ use_golang_cc()

bool use_golang_cc ( )
inline

is GOLANG calling convention used by default?

◆ switch_to_golang()

void switch_to_golang ( )
inline

switch to GOLANG calling convention (to be used as default CC)