gpt4 book ai didi

java - gcj编译的java程序中的二进制名称

转载 作者:太空宇宙 更新时间:2023-11-04 00:56:14 24 4
gpt4 key购买 nike

有没有办法从 gcj 编译的 Java 程序中找出用户运行以启动该程序的可执行文件的名称?

在 C 中,argv[0](来自 main 内部)是名称,但在 Java 中,给 main 的 args 数组仅包含主类的参数。当使用普通的 java 命令行运行时,这是有道理的,因为可执行文件始终是 java(或 java.exe)。

然而,当运行由 gcj 编译的 Java 程序时,用户运行的可执行文件的名称可能是有用的信息。理想情况下,我希望在不求助于平台特定方法的情况下找到该名称,例如读取/proc(以及适用于 Windows 的任何等效方法),但也许这是不可能的。

最佳答案

在 Google 代码搜索中进行了大量搜索后,我发现程序名称隐藏在 gnu.gcj.progname 属性中。示例程序:

public class ProgName {
public static void main(String... args) {
System.out.println(System.getProperty("gnu.gcj.progname"));
}
}

编辑添加:gnu.gcj.progname 记录在 libgcj Runtime Properties 中同样,幸运的是,这不仅仅是一个内部实现细节。

关于java - gcj编译的java程序中的二进制名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2384268/

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