add extern "C" to use pstrace in C++ applications. renamed global logger
This commit is contained in:
@@ -14,6 +14,10 @@
|
||||
#include <ucontext.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "libpst-types.h"
|
||||
|
||||
typedef struct pst_handler pst_handler;
|
||||
@@ -133,4 +137,8 @@ int pst_unwind_pretty(pst_handler* handler);
|
||||
*/
|
||||
const char* pst_print_pretty(pst_handler* handler);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __LIBPST_EXTERNAL_H_ */
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@
|
||||
extern dwarf_reg_map reg_map[];
|
||||
extern int regnum;
|
||||
|
||||
pst_logger logger; // logger for library
|
||||
pst_logger pstlogger; // logger for library
|
||||
pst_allocator allocator; // custom allocator for PST library
|
||||
|
||||
static void clean_print(pst_context* ctx)
|
||||
|
||||
+2
-2
@@ -21,14 +21,14 @@
|
||||
// uncomment line below to enable debug output to stdout
|
||||
//#define PST_DEBUG
|
||||
|
||||
extern pst_logger logger; // logger for whole PST library
|
||||
extern pst_logger pstlogger; // logger for whole PST library
|
||||
extern pst_allocator allocator; // custom allocator for PST library
|
||||
|
||||
#define pst_alloc(TYPE) (TYPE*)allocator.alloc(&allocator, sizeof(TYPE))
|
||||
#define pst_free(NAME) allocator.free(&allocator, NAME)
|
||||
|
||||
#ifdef PST_DEBUG
|
||||
#define pst_log(SEVERITY, FORMAT, ...) logger.log(&logger, SEVERITY, FORMAT, ##__VA_ARGS__)
|
||||
#define pst_log(SEVERITY, FORMAT, ...) pstlogger.log(&logger, SEVERITY, FORMAT, ##__VA_ARGS__)
|
||||
#else
|
||||
#define pst_log(SEVERITY, FORMAT, ...)
|
||||
#endif
|
||||
|
||||
+2
-2
@@ -23,7 +23,7 @@ pst_handler* pst_lib_init(ucontext_t* hctx, void* buff, uint32_t size)
|
||||
pst_alloc_init_custom(&allocator, buff, size);
|
||||
}
|
||||
|
||||
pst_log_init_console(&logger);
|
||||
pst_log_init_console(&pstlogger);
|
||||
|
||||
pst_new(pst_handler, handler, hctx);
|
||||
|
||||
@@ -37,7 +37,7 @@ void pst_lib_fini(pst_handler* h)
|
||||
pst_free(h);
|
||||
|
||||
// global
|
||||
pst_log_fini(&logger);
|
||||
pst_log_fini(&pstlogger);
|
||||
pst_alloc_fini(&allocator);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user