From 3340bc4a0f3da8c61a9bdd1f809be972b4d7097b Mon Sep 17 00:00:00 2001 From: _xeroxz Date: Mon, 8 Mar 2021 18:44:51 +0000 Subject: [PATCH] Update README.md --- README.md | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index e549387..ff89dd7 100644 --- a/README.md +++ b/README.md @@ -21,9 +21,10 @@ Since Theo is a jit linker, unexported symbols can be jit linked. Resolving such * Dynamic Linking * Usage - Using Theodosius * Integrating Clang - * `theo::memcpy_t` - copy memory lambda - * `theo::malloc_t` - allocate executable memory - * `theo::resolve_symbol_t` - resolve external symbol + * Lambdas Fpr Explicit Constructor + * `theo::memcpy_t` - copy memory lambda + * `theo::malloc_t` - allocate executable memory + * `theo::resolve_symbol_t` - resolve external symbol * Creating Instance * Calling Entry * MSREXEC - Call Entry Example @@ -61,6 +62,14 @@ Dynamic linking is when external symbols are resolved at runtime. This is done b # Usage - Using Theodosius +## Integrating Clang + +For integration with visual studios please open "Visual Studio Installer" --> Click "Modify" on your visual studios version --> Then select the "Individual Components" tab. Search for "clang" --> Select all options ---> Click "Modify" on the bottom right. + +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. + +## Lambdas Fpr Explicit Constructor + Theodosius uses the same class structure as HMDM does. Its a highly modular format which allows for extreme usage, supporting almost every idea one might have. In order to use Theo, you must first define three lambdas, `theo::memcpy_t` a method of copying memory, `theo::malloc_t` a method to allocate executable memory, and lastely `theo::resolve_symbol_t` a lamdba to resolve external symbols. ### `theo::memcpy_t` - copy memory lambda