Skip to content

Commit 27ad466

Browse files
committed
Minor changes
1 parent bfe52f6 commit 27ad466

File tree

1 file changed

+25
-3
lines changed

1 file changed

+25
-3
lines changed

Detours.h

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,23 +48,45 @@
4848

4949
// MSVC - Sections
5050

51-
#define DECLARE_SECTION(NAME) __pragma(section(NAME, execute))
51+
#define DECLARE_DATA_SECTION(NAME) __pragma(section(NAME, read))
52+
#define DECLARE_CODE_SECTION(NAME) __pragma(section(NAME, execute))
5253

5354
#define SECTION_READONLY "R"
5455
#define SECTION_READWRITE "RW"
5556
#define SECTION_EXECUTE_READ "ER"
5657
#define SECTION_EXECUTE_READWRITE "ERW"
5758
#define CHANGE_SECTION_ATTRIBUTES(NAME, ATTRIBUTES) LINKER_OPTION("/SECTION:" NAME "," ATTRIBUTES)
5859

59-
#define DEFINE_SECTION(NAME, ATTRIBUTES) \
60-
DECLARE_SECTION(NAME) \
60+
#define DEFINE_DATA_SECTION(NAME, ATTRIBUTES) \
61+
DECLARE_DATA_SECTION(NAME) \
62+
CHANGE_SECTION_ATTRIBUTES(NAME, ATTRIBUTES)
63+
64+
#define DEFINE_CODE_SECTION(NAME, ATTRIBUTES) \
65+
DECLARE_CODE_SECTION(NAME) \
6166
CHANGE_SECTION_ATTRIBUTES(NAME, ATTRIBUTES)
6267

6368
#define MERGE_SECTION(FROM, TO) LINKER_OPTION("/MERGE:" FROM "=" TO)
6469

6570
#define DEFINE_DATA_IN_SECTION(NAME) __declspec(allocate(NAME))
6671
#define DEFINE_CODE_IN_SECTION(NAME) __declspec(code_seg(NAME))
6772

73+
// MSVC - Optimization
74+
75+
#define DISABLE_OPTIMIZATION(OPTION) \
76+
__pragma(optimize(OPTION, off))
77+
78+
#define ENABLE_OPTIMIZATION(OPTION) \
79+
__pragma(optimize(OPTION, on))
80+
81+
#define DISABLE_OPTIMIZATION_BEGIN(OPTION) \
82+
DISABLE_OPTIMIZATION(OPTION) \
83+
extern "C++"
84+
85+
#define DISABLE_OPTIMIZATION_END(OPTION) \
86+
ENABLE_OPTIMIZATION(OPTION)
87+
88+
// Definitions
89+
6890
#ifndef PROCESSOR_FEATURE_MAX
6991
#define PROCESSOR_FEATURE_MAX 64
7092
#endif // !PROCESSOR_FEATURE_MAX

0 commit comments

Comments
 (0)