如何在内存中直接运行进程?
题目可能不太确切! 
 我的问题详细描述如下:某个可执行程序A放在某个硬件板上,另一个程序B在主机上运行,从硬件板上读出A,此时我就想让程序A在主机上直接运行,而不必先存到主机上,然后再运行 
 请各位大侠们帮小弟啊!
------解决方案--------------------你可以在内存中建立虚拟临时目录,把程序读入那个目录中执行啊。或者你的所谓硬件板可以考虑映射为一个目录,这样直接执行就可以了。
------解决方案--------------------配置SAMBA,可以在WINDOW上直接打开LINUX下的各种文件
------解决方案--------------------分配内存把代码拷贝进去,然后跳转过去就OK了 
 具体细节可能涉及到页面的属性变更等等(可执行)
------解决方案--------------------如果是Linux可以这么做. 
 1.代码读入内存, 
 2. FILE *fmemopen(void *buf, size_t size, const char *mode); 
 3. int fileno(FILE *stream); 
 4. int fexecve(int fd, char *const argv[], char *const envp[]); 
------解决方案--------------------如果只是调用一个函数. 
 1. 读入函数内容入内存. 
 2. 将数据强制转换为指针函数 
 3. 调用该指针函数.   
 没测试,不一定可行 。 
------解决方案--------------------NFS mount试试   
 如果在A上可以开nfsd的话,:-)
------解决方案--------------------加密直接用现成的加壳软件吧
------解决方案--------------------gangjh(阿飛) : 
 我按照你的提示做了,但fileno总是执行错误,提示fmemopen 返回的FILE* f是错的,至于fexecve就不可能对了 
 能不能给多点提示啊   
 ------------------------------------ 
 看看到底哪个环节错了,在每个函数调用后加perror察看出错原因。
------解决方案--------------------我也来两句。 
 要是简化设计的话, 
 为什么不用内存文件系统? 
 tmpfs或者直接的ramdisk 
 可能shell就能做出来了