cpptrace/src/binary/object.hpp
Vittorio Romeo 0ddbbf43cb
Improve compilation times on Windows (#172)
Thank you for the very useful library!

Few improvements:
- Better header hygiene
- Isolate `windows.h` to `.cpp` whenever possible
- Use `WIN32_LEAN_AND_MEAN`
- Remove unused headers

Tested on Windows with 
```
cmake .. -DCMAKE_BUILD_TYPE=Debug -GNinja -DCMAKE_EXPORT_COMPILE_COMMANDS=1 
  -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_CXX_FLAGS="-ftime-trace -Wall -Wextra -Wpedantic 
  -Wno-ignored-attributes" -DCMAKE_COLOR_DIAGNOSTICS=1 -DCPPTRACE_BUILD_TESTING=1 
  -DCPPTRACE_BUILD_BENCHMARKING=0
```

There's a lot more that can be improved if you are interested.

---------

Co-authored-by: Jeremy Rifkin <51220084+jeremy-rifkin@users.noreply.github.com>
2024-10-02 10:55:13 -05:00

24 lines
445 B
C++

#ifndef OBJECT_HPP
#define OBJECT_HPP
#include <vector>
#include <cstdint>
namespace cpptrace {
struct object_frame;
struct safe_object_frame;
using frame_ptr = std::uintptr_t;
namespace detail {
object_frame get_frame_object_info(frame_ptr address);
std::vector<object_frame> get_frames_object_info(const std::vector<frame_ptr>& addresses);
object_frame resolve_safe_object_frame(const safe_object_frame& frame);
}
}
#endif