如果您在基于Linux的平台上用C编译程序,然后将其移植为使用MacOS库,它将起作用吗?
来自编译器的核心机器代码是否在Mac和Linux上都兼容?
我之所以这样问,是因为两者都是基于“ UNIX”的,所以我认为这是真的,但是我不确定。
否,Linux和Mac OS X二进制文件不是交叉兼容的。
一方面,Linux可执行文件使用一种称为ELF的格式。
Mac OS X可执行文件使用Mach-O格式。
因此,即使通常在每个系统上分别编译许多库,它们也不会以二进制格式移植。
此外,Linux实际上并非基于UNIX。它确实与UNIX共享许多通用功能和工具,但是其中很多与诸如POSIX之类的计算标准有关。
编辑:
最后,要解决关于字节码的问题:制作二进制文件时,编译器通常会生成特定于您正在开发的平台的机器代码。(并非总是如此,但通常是这样。)
问题内容: 我制作了一个Java应用程序,希望在Windows,OSX和Linux上分发而不分发jar文件。我使用了出色的Windows exe包装器http://launch4j.sourceforge.net/创建了一个带有我的图标的.exe文件,它不会吓到Windows用户。 我可以在OSX / Unix中使用类似的包装器吗?一个重要的考虑因素是,我希望在可执行文件上有自己的图标(尤其是对于
问题内容: 因此,我正在尝试编写一个将可执行的.sh文件,这是我目前正在编写的方式: 这样就可以写文件了,但是它不是可执行文件。当我编写可执行文件时,是否可以更改其状态? 编辑:为了进一步说明,我试图使其在默认情况下执行,例如,如果双击生成的文件,它将自动执行。 问题答案: 您需要对其进行chmod修改,并且可能可以通过执行如下系统命令来实现: 实际上,您所需要做的只是解散如下所示的内容: 但是,
问题内容: 出于安全原因,希望在执行之前检查代码的完整性,以 避免 攻击者 篡改软件 。所以,我的问题是 如何在Linux下签名可执行代码并仅运行受信任的软件? 我已经阅读了Van Doom 等人 的著作 。 , 针对Linux的签名可执行文件的设计和实现 ,以及Safford&Zohar 的IBM TLC(受信任的Linux客户端)。TLC使用TPM控制器,这很好,但是该论文来自2005年,我无
问题内容: 简而言之,我需要能够将已编译的可执行文件粘贴到Java jar文件中,然后能够从Java运行它(可能通过)。 的 原因 ,是我想使用Java来包裹ImageMagick的可执行文件成分的图像处理弹性的Map Reduce任务。EMR只希望获取一个jar文件,因此我认为没有空间在旋转的数据节点上安装软件。 问题答案: jar中的可执行文件是一种资源,您可以通过Stream访问它,并将可执
我只是试图释放我的Java9兼容的项目与。但是,它在中失败 无法执行目标组织。阿帕奇。专家插件:maven编译器插件:3.7.0:在项目电子邮件上编译(默认编译):致命错误编译:无效目标版本:9 有趣的是,在我独立运行时运行良好。我的设置: Maven版本3.5.0。 运行良好; 失败与上述异常。 调试输出:
通过on_delete选项,Django提供了各种方法来处理具有被删除对象外键的对象。 我想知道是否有一种方法,我可以做类似的事情,但有条件的。下面是一个场景。我正在使用Django1.5新的自定义用户模型,我的所有用户都有一个网站的外键。像这样: 如果一个站点被删除了,那么我更愿意删除所有链接到该站点的非超级用户(即类似KASKADE的behavoir),因为它们的存在现在已经没有意义了。但如果