分配可执行Ram在Linux下C [英] Allocate executable ram in c on linux
本文介绍了分配可执行Ram在Linux下C的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想作一个简单的只是在实时编译器Linux下C
I want to make a simple just-in-time compiler with c on Linux.
如何分配内存,这样我可以写出来的原料86 code到它,执行它像任何其他功能?
How can I allocate memory such that I can write out raw x86 code to it and execute it as any other function?
推荐答案
请参阅则mprotect()。一旦你已经填补了(N-)页面大小的内存区域(已分配使用mmap()的)与code,改变它的权限以禁止写入和允许执行。
See mprotect(). Once you have filled a (n-)page-sized memory region (allocated with mmap()) with code, change its permissions to disallow writes and allow execution.
这篇关于分配可执行Ram在Linux下C的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文