gpt4 book ai didi

java - 使用 execv 时 Cygwin C 文件返回 "Bad Address"

转载 作者:行者123 更新时间:2023-11-30 15:56:50 26 4
gpt4 key购买 nike

我写了一个小java程序,我想在Windows启动时执行它。我编写了一个批处理文件以在操作系统启动时运行,但我意识到它不起作用,因为 Windows 7 在操作系统启动时会停止任何批处理文件的运行。

为了解决这个问题,我想编写一个 C 程序,用 cygwin 编译它(以便它的 .exe),并在操作系统启动时运行它。我希望它执行命令:

java -jar ipsetup.jar

我无法让它工作,所以我尝试让 c 程序执行“ls”命令。这是代码:

int main(int argc, char ** argv){

//argv[0] = "java";
//argv[1] = "-jar";
//argv[2] = "c:/windows/ipstartup.jar";

execv("/bin/ls", "/bin/ls");
printf("%s",strerror(errno));
return 1;

}

我不断收到错误“地址错误”或“文件或目录不存在”。有人知道为什么吗?

谢谢

**编辑

这样我就可以让程序在 cygwin 中正确运行(它执行我的 java 文件)。但是当我在Windows中运行它时,它只输出打印语句。本来它说缺少cygwin1.dll,所以我把它放在Windows目录下。这是我的源代码:

#include <errno.h>
#include <stdio.h>

int main(int argc, char ** argv){

//argv[0] = "java";
//argv[1] = "-jar";
//argv[2] = "c:/windows/ipstartup.jar";


system("java -jar c:/windows/ipstartup.jar");
printf("I am here");
return 1;

}

最佳答案

我可以在这里看到两个潜在的错误源,它们与批处理文件问题类似:cygwin 和/或 java 可能无法在 Windows 启动时工作。

为什么将其设为 cygwin 程序?使用system()有什么问题吗?函数和常规 ANSI C?

关于java - 使用 execv 时 Cygwin C 文件返回 "Bad Address",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10915883/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com