From 3b7d9e2122bf0efe6c7e2ea30843024222b65ee9 Mon Sep 17 00:00:00 2001 From: _xeroxz Date: Mon, 8 Mar 2021 18:56:38 +0000 Subject: [PATCH] Update README.md --- README.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 6661c62..8481414 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ Since Theo is a jit linker, unexported symbols can be jit linked. Resolving such * Dynamic Linking * Usage - Using Theodosius * Integrating Clang - * Project Example + * Requirements * Lambdas Fpr Explicit Constructor * `theo::memcpy_t` - copy memory lambda * `theo::malloc_t` - allocate executable memory @@ -69,9 +69,13 @@ For integration with visual studios please open "Visual Studio Installer" --> Cl Once you have clang-cl installed for visual studios, navigate to the location in which it is installed. The location is (`%VCINSTALLDIR%\Tools\Llvm\bin\` and `%VCINSTALLDIR%\Tools\Llvm\x64\bin\`). Drag and drop all clang files from clang.zip into these directories. -### Project Example +#### Requirements -Now you can create c/c++ clang projects. In order to make something that can work with Theodosius, make sure you are compiling with ***Optimizations Disabled (/Od)***, ***Control Flow Guard Disabled***, ***Security Check Disabled (/GS-)***, ***All Exceptions Disabled (No SEH)***. +* No SEH support, do not add `__try/__except` in your code. +* No CFG (control flow guard) support. Please disable this in C/C++ ---> Code Generation ---> Control Flow Guard +* No Stack Security Check Support. Please disablel this in C/C++ ---> Code Generation ---> Security Check (/GS-) +* Your project must be set to produce a .lib file. +* Your project must not link with other static libraries which are not compiled with `clang-cl -mcmodel-large`. ## Lambdas Fpr Explicit Constructor