<< Click to Display Table of Contents >> Navigation: Themida > FAQ > Macros > When enabling optimizations, my VM_END marker is not found |
This can be an issue with Tail Call Optimization.
To avoid the issue with the "missing END" marker due to Tail Call Optimization, please, just put an intrinsic __nop() after the END macro marker. You could also edit the definition of the END marker (or create your own wrapper for it) where you add at the end the "__nop();" instruction. Example:
VM_START;
MessageBoxW(0, L"Hello world!", 0, 0);
VM_END;
__nop(); // prevent TCO in this function