mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-06-15 00:22:23 -07:00
44 lines
716 B
C++
44 lines
716 B
C++
// Copyright (c) 2024 Epic Games Tools
|
|
// Licensed under the MIT license (https://opensource.org/license/mit/)
|
|
|
|
#if _WIN32
|
|
#define export_function extern "C" __declspec(dllexport)
|
|
#else
|
|
#define export_function extern "C"
|
|
#endif
|
|
|
|
#if _WIN32
|
|
# define thread_var __declspec(thread)
|
|
#else
|
|
# define thread_var __thread
|
|
#endif
|
|
|
|
typedef struct Basics Basics;
|
|
struct Basics
|
|
{
|
|
int a;
|
|
int b;
|
|
int c;
|
|
int d;
|
|
};
|
|
|
|
thread_var float tls_a = 1.015625f;
|
|
thread_var int tls_b = -100;
|
|
|
|
export_function void
|
|
dll_tls_eval_test(void)
|
|
{
|
|
tls_a *= 1.5f;
|
|
tls_b *= -2;
|
|
}
|
|
|
|
export_function void
|
|
dll_type_eval_tests(void)
|
|
{
|
|
Basics basics1 = {1, 2, 3, 4};
|
|
Basics basics2 = {4, 5, 6, 7};
|
|
int x = 0;
|
|
(void)x;
|
|
*(int *)0 = 0;
|
|
}
|