希望使用exec系列函数启动java虚拟机,执行: execve("\jdk\bin\java",args,environ); 其中, "\jdk\bin\java"为java可执行文件全路径, args为参数,现在为空,args[1]='\0'; environ定义为extern char** environ; 执行结果为: Segmentation fault 执行同样语句,只将"\jdk\bin\java"替换为"\jdk\bin\hello",\jdk\bin\hello程序打印"H",结果正确 请问为什么Segmentation fault,怎样用exec系列函数启动java虚拟机 十分感谢
by swung - 程序开发 - 2005-12-12 10:42:46 阅读(1045) 回复(3)
希望使用exec系列函数启动java虚拟机,执行: execve("\jdk\bin\java",args,environ); 其中, "\jdk\bin\java"为java可执行文件全路径, args为参数,现在为空,args[1]='\0'; environ定义为extern char** environ; 执行结果为: Segmentation fault 执行同样语句,只将"\jdk\bin\java"替换为"\jdk\bin\hello",\jdk\bin\hello程序打印"H",结果正确 请问为什么Segmentation fault,怎样用exec系列函数启动java虚拟机 十分感谢
各位大虾们:我是内核新手 最近在内核的协议栈里面的代码动了手脚, 我在net/ipv4/tcp_ipv4.c 文件的int tcp_v4_rcv函数中 加了一点代码 int tcp_v4_rcv(struct sk_buff *skb) { 。。。。 th = tcp_hdr(skb); if (th->doff < sizeof(struct tcphdr) / 4) goto bad_packet; if (!pskb_may_pull(skb, th->doff * 4)) goto discard_it; /* An explanation is required here, I think. * Packet length and doff ar...
内核从现在开始就进入了c语言部分,内核启动第二阶段从init/main.c的start_kernel()函数开始到函数结束。 这一阶段对整个系统内存、cache、信号、设备等进行初始化,最后产生新的内核线程init后, 调用cpu_idle()完成内核第二阶段。有很多书籍介绍这一部分的内容,我们这里仅仅讲述与xscale结构相关的部分。 首先我们看一下start_kernel开始部分的源代码 asmlinkage void __init start_kernel(void) { char * command_line; ...
内核从现在开始就进入了c语言部分,内核启动第二阶段从init/main.c的start_kernel()函数开始到函数结束。 这一阶段对整个系统内存、cache、信号、设备等进行初始化,最后产生新的内核线程init后, 调用cpu_idle()完成内核第二阶段。有很多书籍介绍这一部分的内容,我们这里仅仅讲述与xscale结构相关的部分。 首先我们看一下start_kernel开始部分的源代码 asmlinkage void __init start_kernel(void) { char * command_line; ...
================================ Author: taoyuetao Email: [email=tao_yuetao@yahoo.com.cn][color="#0000ff"]tao_yuetao@yahoo.com.cn[/email] Blog: http://www.eetop.cn/blog/?11145 07-05-09 ================================ 内核从现在开始就进入了c语言部分,内核启动第二阶段从init/main.c的start_kernel()函数开始到函数结束。 这一阶段对整个系统内存、cache、信号、设备等进行初始化,最后产生新的内核线程ini...
================================ Author: taoyuetao Email: [email=tao_yuetao@yahoo.com.cn]tao_yuetao@yahoo.com.cn[/email] Blog: http://blog.chinaunix.net/u/31100/ 07-05-09 ================================ 内核从现在开始就进入了c语言部分,内核启动第二阶段从init/main.c的start_kernel()函数开始到函数结束。 这一阶段对整个系统内存、cache、信号、设备等进行初始化,最后产生新的内核线程init后, 调用cpu_...
希望使用linux中exec系列函数通过一个c程序启动java虚拟机,执行: execve("/opt/jdk/bin/java",args,environ); 其中, "/opt/jdk/bin/java"为java可执行文件全路径, args为参数,现在为空,args[1]='\0'; environ定义为extern char** environ; 执行结果为: Segmentation fault 执行同样语句,只将"/opt/jdk/bin/java"替换为"/opt/jdk/bin/hello","/opt/jdk/bin/hello程序打印"H",结果正确 请问为什么Segmentation fault,怎样用...
希望使用linux中exec系列函数通过一个c程序启动java虚拟机,执行: execve("/opt/jdk/bin/java",args,environ); 其中, "/opt/jdk/bin/java"为java可执行文件全路径, args为参数,现在为空,args[1]='\0'; environ定义为extern char** environ; 执行结果为: Segmentation fault 执行同样语句,只将"/opt/jdk/bin/java"替换为"/opt/jdk/bin/hello","/opt/jdk/bin/hello程序打印"H",结果正确 请问为什么Segmentation fault,怎样用...
linux启动流程(从start_kernel中的rest_init函数到init进程(1)) 在init/main.c文件中有个函数叫start_kernel,它是用来启动内核的主函数,我想大家都知道这个函数啦,而在该函数的最后将调用一个函数叫rest_init(),它执行完,内核就起来了, asmlinkage void __init start_kernel(void) { ...... /* Do the rest non-__init'ed, we're now alive */ rest_init(); } 现在我们来看一下rest_init()函数,...
Written by leeming Paging_init中重要函数附录: 由于阅读直观起见,在paging_init函数中只是放了一次嵌套的代码,并没有继续嵌套代码,但是还有一个函数对于我们来说也是非常重要的,它就是在bootmem_init(mi); devicemaps_init(mdesc);这两个函数中都涉及的create_mapping,它也是创建页表的直接操作者。 1.void __init create_mapping(struct map_desc *md) { unsigned long virt, length; int prot_sect, prot...