gpt4 book ai didi

Java CreateProcess 错误=193,%1 不是有效的 Win32 应用程序

转载 作者:行者123 更新时间:2023-12-02 02:10:00 31 4
gpt4 key购买 nike

我正在尝试读取和写入可扩展链接格式(ELF),下面是我收到错误的行。

p =  r.exec("./optimizer " + sourceFile + " " + sourceFile + "a" + " " + "--all -i");

运行此行后,我收到如下错误:

java.io.IOException: Cannot run program "./optimizer": CreateProcess             
error=193, %1 is not a valid Win32 application
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at java.lang.Runtime.exec(Runtime.java:620)
at java.lang.Runtime.exec(Runtime.java:450)
at java.lang.Runtime.exec(Runtime.java:347)
at GUIMode.GUIMode.actionPerformed(GUIMode.java:213)

最佳答案

“%1 不是有效的 Win32 应用程序”消息有几个可能的原因,包括:

  • 应用程序的路径名不正确,
  • Windows 无法将路径名命名的文件识别为可执行文件,或者
  • 该文件是 32 位可执行文件,但由于某种原因它试图加载 64 位 DLL。

在这种情况下,您使用的是可执行文件的相对路径名,因此 JVM 的当前目录可能与您想象的不同......并且 optimizer 文件不在该目录中目录。

尝试以下操作:

  1. "./optimizer" 替换为绝对路径名。

  2. 如果命令(绝对)路径名或 sourceFile 参数包含空格,则将命令字符串替换为字符串数组;例如

    exec(new String[]{
    "C:/path/to/optimizer",
    sourceFile, sourceFile + "a", "--all", "-i"});
  3. 尝试从命令提示符运行该命令。其目的是检查这是否是由不可执行文件或 DLL 问题引起的。

关于Java CreateProcess 错误=193,%1 不是有效的 Win32 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50156510/

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