This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <Windows.h> | |
#include <stdio.h> | |
#include <type_traits> | |
#include <algorithm> | |
namespace pointer | |
{ | |
template <typename T> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <cstdint> | |
#include <assert.h> | |
/* | |
base approach: each class corresponds to the layout of a symbol of a certain kind. | |
however, there is no relationship between any of the SymbolRecordKind values and the corresponding class layout. | |
this leads to more copy-and-paste errors and makes it harder to enforce that the underlying data is cast correctly. | |
*/ | |
enum class SymbolRecordKind : uint16_t |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <Windows.h> | |
#include <stdio.h> | |
#include <chrono> | |
static const int COUNT = 50000u; | |
int main() | |
{ | |
DWORD charCount = MAX_PATH; |