分配可执行Ram在Linux下C [英] Allocate executable ram in c on linux

查看:202
本文介绍了分配可执行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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆