草庐IT

linux - 强制 gcc 在 64 位平台上编译 32 位程序

我有一个专有程序,我正试图在64位系统上使用它。当我启动设置时,它工作正常,但在它尝试更新自身并编译一些模块之后,它无法加载它们。我怀疑这是因为它使用了gcc,而gcc试图为64位系统编译它们,因此该程序无法使用这些模块。有什么办法(一些环境变量或类似的东西)强制gcc为32位平台做所有事情。32位chroot可以工作吗? 最佳答案 你需要让GCC使用-m32标志。您可以尝试为您的$PATH编写一个简单的shell脚本并将其命名为gcc(确保您没有覆盖原始gcc,并确保新脚本在中更早$PATH,并且它使用GCC的完整路径。我认为您需

linux - 如何在 Unix 系统上编辑二进制文件

已结束。此问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提出有关书籍、工具、软件库等方面的建议的问题。您可以编辑问题,以便用事实和引用来回答它。关闭3年前。Improvethisquestion在Windows机器上,有许多第三方编辑器可用于编辑二进制文件。如何在Unix系统上编辑二进制文件? 最佳答案 在Vim,您可以输入:%!xxd将其转换为十六进制编辑器。:%!xxd-r回到正常模式。xxd在Vim安装中提供。见here关于使用Vim编辑二进制文件的一些说明(归结为:setbinary以

java - 如何在我的 Mac 上编译和运行 Java 程序?

如何在我的Mac上编译和运行Java程序?我是新人。我还下载了一个在此处向我建议的程序,称为textwrangler,如果这对情况有任何影响的话。 最佳答案 在MacOSX或任何主要操作系统上编译和运行Java应用程序非常容易。Apple包含一个功能齐全的Java运行时和开箱即用的OSX开发环境,因此您所要做的就是编写一个Java程序并使用内置工具来编译和运行它。编写你的第一个程序第一步是编写一个简单的Java程序。打开一个文本编辑器(内置的TextEdit应用程序可以正常工作),输入以下代码,然后将文件保存为“HelloWorld

c++ - 通过命令行在 OS X 上编译简单的 Hello World 程序

我有一个简单的helloworld示例,我正在尝试在OSX上编译,名为hw.cpp:#include#includeusingnamespacestd;intmain(){cout我想用gcc编译它,但我没有成功。我也想听听其他选项,比如使用Xcode吗? 最佳答案 试试g++hw.cpp./a.outg++是GCC的C++编译器前端。gcc是GCC的C编译器前端。是的,Xcode绝对是一个选择。它是一个基于GCC构建的GUIIDE。虽然我更喜欢稍微冗长的方法:#includeintmain(){std::cout

ruby-on-rails - 在 FreeBSD 上编译 Assets 时出现堆栈一致性错误

我正在尝试在FreeBSD服务器上部署Rails应用程序。但是,当我尝试编译Assets时,出现了这个奇怪的错误:bundleexecrakeassets:precompile/home/user/site/shared/bundle/ruby/2.1.0/gems/therubyracer-freebsd-0.10.1/lib/v8/portal.rb:16:[BUG]Stackconsistencyerror(sp:231,bp:232)ruby2.1.0p0(2013-12-25revision44422)[x86_64-freebsd9.1]--Controlframeinfo

ruby - 在 Ubuntu 12.04 上编译 Postgres pg gem 时出错

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:Unabletoinstallpggemonubuntu-Can’tfindthe'libpq-fe.hheader这是尝试执行bundleinstall时的错误Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingpg:ERROR:Failedtobuildgemnativeextension./usr/bin/ruby1.8extconf.rbcheckingforpg_config...noNopg_config...try

ruby - 在远程机器上编程 [Eclipse - ruby​​]

有人用过eclipse的插件在远程机器上开发吗?我必须通过终端ssh并复制粘贴eclipse代码在具有必要权限的远程主机上运行它任务。我想知道我是否可以在我的ubuntu桌面上的eclipse上做到这一点谢谢!编辑:https://help.ubuntu.com/community/SSHFS就操作系统而言,ShawnBower建议有效Q]不幸的是,eclipse可以在远程安装的FS上打开脚本,但是它不会显示在脚本资源管理器或运行配置中。“无效的工作目录”Q]当我使用SSHFS时,有没有办法sudosu?给出一个观点:通常我以myself@remote身份登录远程用户,然后sudosu

c++ - 在 64 位机器上编译 32 位代码时,我应该如何处理 "cast from ‘void*’ 到 ‘int’ 丢失精度?

我有一个可以在32位机器上编译并正常工作的包。我现在正在尝试让它在64位机器上编译并发现以下错误-error:castfrom‘void*’to‘int’losesprecision是否有一个编译器标志来抑制这些错误?还是我必须手动编辑这些文件以避免这些强制转换? 最佳答案 问题在于,在32位中,int(它是一个32位整数)将保存一个指针值。当您移至64位时,您不能再将指针存储在int中-它不足以容纳64位指针。intptr_ttype就是为此而设计的。 关于c++-在64位机器上编译3

c++ - 在 64 位机器上编译 32 位代码时,我应该如何处理 "cast from ‘void*’ 到 ‘int’ 丢失精度?

我有一个可以在32位机器上编译并正常工作的包。我现在正在尝试让它在64位机器上编译并发现以下错误-error:castfrom‘void*’to‘int’losesprecision是否有一个编译器标志来抑制这些错误?还是我必须手动编辑这些文件以避免这些强制转换? 最佳答案 问题在于,在32位中,int(它是一个32位整数)将保存一个指针值。当您移至64位时,您不能再将指针存储在int中-它不足以容纳64位指针。intptr_ttype就是为此而设计的。 关于c++-在64位机器上编译3

linux - 如何使用 gcc/cmake 在 64 位 linux 机器上编译 32 位二进制文​​件

是否可以在64位上使用cmake和gcc在32位中编译项目>系统?可能是,但我该怎么做呢?当我以“无知”的方式尝试时,没有设置任何参数/标志/等,只需设置LD_LIBRARY_PATH即可在~/tools/lib中查找链接库它似乎忽略了它,只查看名为lib64的子目录。 最佳答案 exportCFLAGS=-m32 关于linux-如何使用gcc/cmake在64位linux机器上编译32位二进制文​​件,我们在StackOverflow上找到一个类似的问题: