问题标签 [platform-independence]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
81708 浏览

java - 以独立于平台的方式将环境变量传递给 JVM

我正在开发一个在 Windows Vista 机器上的 JBoss 中运行的 J2EE 应用程序,但该应用程序最终会在 Linux 机器上运行。有没有办法以独立于平台的方式传递环境变量的值?

我认为(但我不确定)平台敏感的方式是:

并从那里我将访问值(在Java中)使用

- 那是对的吗?

Javadoc forSystem.getenv(String name)似乎暗示该方法依赖于平台,但我不清楚这一点。我是否可以完全跳过将变量传递到 JVM,并getenv()在使用操作系统设置环境变量的值后使用?

0 投票
9 回答
24786 浏览

operating-system - 程序如何执行?操作系统在哪里发挥作用?

程序从某种语言编译为 ASM --> 机器代码(直接可执行)。当人们说这取决于平台时,意味着形成的二进制文件将(正确)仅在具有相同指令集架构(如 x86、x86-64)的 CPU 上运行。由于 ISA 的不同,它可能(错误地)/可能(根本不)在其他进程上运行。正确的?

现在,二进制文件的概念让我感到困惑。一切都与“机器语言代码”和“CPU”有关。操作系统在哪里发挥作用?我的意思是编译后的二进制文件在加载到内存时有直接的 CPU 指令。& CPU 一次执行一条指令。除了进程管理链接文本之外,我在任何地方都看不到操作系统的作用。无论操作系统如何,它都应该在相同 ISA 的 CPU 上运行。正确的?

然而事实并非如此。如果我在 Windows 机器上构建 x86 的代码。它不会在 Mac x86 机器或 Linux x86 机器上运行。

我在这里遗漏了一些东西。请清除我的困惑。

0 投票
2 回答
148 浏览

java - 按文件类型触发外部应用程序/帮助程序的平台独立方式?

例如,我正在开发的一个应用程序将 PDF 文件存储到数据库中,然后可以将它们拉回显示。我在那里接到一个电话,使用 Runtime.exec 执行“cmd /c start”加上 PDF 文件名。适用于 Windows。虽然我们也在 Solaris 和 Mac 上运行该软件,但更愿意找到一种独立于平台的方式(试图避免使用各种操作系统的替代方法检测操作系统)来做到这一点。

0 投票
1 回答
118 浏览

c++ - 不改变框架的平台独立并行化?

我希望标题没有误导你。

我的问题如下:目前我尝试加速光线追踪器,这是在显卡的帮助下完成的。尽管它因此变慢了,但它工作正常。:)

这是因为我在显卡(我的“跟踪服务器”)上一次在整个几何图形上跟踪一条光线,然后获取结果,这非常慢,所以我必须收集一些光线并计算它们并一起获取结果以加快速度。

下一个问题是,我不允许重写对这种并行化一无所知或最不可能知道的周围框架。

所以这是我的方法:我考虑过使用多个线程,每个线程都获取一条射线并请求我的“跟踪服务器”计算交叉点。然后线程停止,直到收集到足够的光线来计算显卡上的交点并有效地返回结果。这意味着每个线程都将等待,直到获取结果。

你看我已经有一些计划但是我不知道:

  • 我应该采用哪个线程框架独立于平台?
  • 我应该使用固定大小的线程池还是根据需要创建它们?
  • 任何给定的线程库都可以处理至少 1000 个等待线程(因为这将是我需要收集的数量才能使我的 fetch 有效)?

但我也可以想象用一个线程来做这件事

  1. 将其负载(新光线)转储到“跟踪服务器”并获取下一个负载,直到
  2. 有足够的获取结果。
  3. 然后线程将一一获取结果,进行进一步的计算,直到处理完所有结果,然后返回到第一步,直到完成所有光线。

另外,如果您对如何并行化有更好的想法,请告诉我。

问候,

没有人

PS 如果您需要此信息:我要使用的两个平台是 Linux 和 Windows。

0 投票
3 回答
754 浏览

java - Java中与系统无关的机器关闭

可能重复:
使用 Java 关闭计算机

我正在制作一个个人程序,该程序将在一定时间或特定时间/日期后关闭我的计算机。但是,我正在运行多个操作系统,并希望使用一个简单的 Java 程序来完成此操作。有没有办法在不使用任何外部库的情况下在 Java 中发送与系统无关的机器关闭请求?我知道你可以java.awt.Desktop.getDesktop().browse(new URI("shutdown /s"));在 Windows 中使用,但是,我想要系统独立。

0 投票
2 回答
55835 浏览

java - Can I find out what variable java.library.path maps to on the current platform?

So far I've learned the following about the java.library.path property:

  • It's used when loading native libraries, as opposed to java classes
  • Its default value depends on the operating system:
    • On Windows, it maps to PATH
    • On Linux, it maps to LD_LIBRARY_PATH
    • On OS X, it maps to DYLD_LIBRARY_PATH

(Please correct me if I've misunderstood any of the above)

My motivation:

I want to modify the value of java.library.path seen by a Java application from the framework I've set up to invoke the Java application. I want to do this not by setting the java.library.path property directly, but instead by modifying the system path variable that it maps to. I'd like a clean way to do this that doesn't have ugly OS-specific code or leave out edge cases if possible.

My question:

Is there a way to ask the local Java implementation what environment variable java.library.path maps to?

Then, in a shell script, I'd be able to write something along the lines of:

0 投票
1 回答
137 浏览

java - 有多少 Java 支持的平台?

我正在设计一个将使用本机代码的库,但我计划使其跨平台。我想知道我必须编写多少个不同的版本来支持每个本机实现,例如 windows、linux、mac osx。

0 投票
0 回答
272 浏览

c++ - 独立于平台的延迟计时器

问题

我最初发布了这个问题,这显然不符合我的客户规范。因此,我正在重新定义问题:

为了更深入地理解这个问题,可以使用原帖上的时序图。延迟器需要独立于平台。准确地说,我运行了一个作业调度程序,显然我当前的延迟器不会与它兼容。我坚持的是延迟器的“独立”位。我已经使用Probe(采样时间探针)和Variable Integer Delay块在 SIMULINK 中敲掉了一个延迟器。然而,在我们的验收阶段,我们意识到调度程序不符合这样的配置,需要更内在和基本的东西——比如在 C/C++ 应用程序中运行的 while 循环。

初步解决方案

我能想到的解决方案如下:

  1. 定义一个名为 的全局静态时间片变量tslc。基本上,这是调度程序运行的频率。单位可以是秒

  2. 定义一个具有以下主体的函数:

    /li>

请用户原谅我糟糕的函数编码技能,但我只是想提出一个解决方案。如果人们在这里为我提供一些建议,我将不胜感激!

计算平台 Windows 2000 服务器

目标计算平台 嵌入式系统卡 - 类似于现代图形卡或声卡,位于 PCI 插槽之一。我们在测试平台上进行测试,最后在嵌入式系统卡上实施解决方案。

0 投票
1 回答
75 浏览

python - 使用 Python 快速查找文件的独立于操作系统的方法

使用 Python,如何快速搜索目录(包括子目录)中的文件?

如果在 Linux 下工作,这里的标准答案 use os.walk(),这比 call 慢。find /path -iname "*string*"

是否有一种干净的独立于平台的方式来实现更好的速度?

0 投票
1 回答
151 浏览

java - 本机方法和平台独立性

public static native long currentTimeMillis()这是从Java类方法的源代码中提取的注释java.lang.System

从这个评论中很明显,这个本地方法的行为是平台相关的。如果是这种情况,我们是否应该避免在 Java 中编写真正独立于平台的代码的本地方法调用?