【linux – 32位模式下的NASM x86_64汇编:为什么该指令会生成RIP相对寻址代码?】教程文章相关的互联网学习教程文章

linux – 为什么Ubuntu建议下载32位版本?【代码】

为什么Ubuntu建议下载32位版本?在32bit_and_64bit Page他们甚至说Unless you have specific reasons to choose 32-bit, we recommend 64-bit to utilise the full capacity of your hardware.为什么他们的下载页面显示32位版本为“推荐”? screenshot-with-shadow.png http://img830.imageshack.us/img830/4526/screenshotwithshadow.png解决方法:32位版本适用于所有PC,64位版本仅适用于具有合适处理器的PC.推荐32位版本比提供有...

如何在32位系统上安装arch linux

我想在我的上网本上安装arch Linux,它不是64位兼容的.我在arch Linux下载页面上搜索了下载内容,其中所有内容都与64位架构有关.他们的所有文档都反映了这一点.今天的arch Linux只适用于64位系统吗?解决方法:From Arch Linux:Currently we have official packages optimized for the i686 and x86-64 architectureshttps://www.archlinux.org/download/ 换句话说,相同的下载将适用于64位和32位操作系统.

linux – 确定特定进程是32位还是64位【代码】

给定2.6.x或更新的Linux内核以及能够运行ELF32和ELF64二进制文件的现有用户空间(即远超过How do I know that my CPU supports 64bit operating systems under Linux?),如何确定给定进程(通过PID)是以32位还是64位模式运行? 天真的解决方案是运行:file -L /proc/pid/exe | grep -o 'ELF ..-bit [LM]SB'但是这些信息是否直接暴露在/ proc中而不依赖于libmagic?解决方法:如果你想限制自己的ELF检测,你可以自己读取/ proc / $PID / ...

错误:尝试运行Android模拟器时,32位Linux Android模拟器二进制文件已被删除【代码】

我已经在Ubuntu 10.10,32位中设置了android开发环境.在我启动模拟器后创建AVD后,我收到了以下错误.ERROR: 32-bit Linux Android emulator binaries are DEPRECATED, to usethemyou will have to do at least one of the following:– Use the ‘-force-32bit’ option when invoking ’emulator’.– Set ANDROID_EMULATOR_FORCE_32BIT to ‘true’ in your environment.Either one will allow you to use the 32-bit binaries, bu...

linux – gfortran:在64位系统中编译32位可执行文件【代码】

我在AMD Athlon(tm)64 X2双核处理器52002上运行Ubuntu 12.10(64位),Linux内核3.5.0-51通用.我有GNU Fortran(Ubuntu / Linaro 4.7.2-2ubuntu1)4.7.2. 我正在尝试将一些代码编译成32位可执行文件.我已经检查过我的系统上安装了所有需要的库(我在以前在32位计算机上编译的程序上运行了ldd,并下载了丢失的软件包).我尝试运行$gfortran foo.f -m32 -L / lib / i386-linux-gnu,但是我收到以下错误:/usr/bin/ld: cannot find crt1.o: No ...

在Linux中使用LD_PRELOAD混合64位/ 32位环境【代码】

我想设置LD_PRELOAD指向一个共享库,我可以运行64位或32位应用程序.很明显,共享库和可执行文件必须匹配bit-ness.$LD_PRELOAD=/lib64/lib_init.so ./hello32 ERROR: ld.so: object '/lib64/lib_init.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored其中hello32是32位应用程序.世界上有一些页面说我应该能够:$LD_PRELOAD='/$LIB/lib_init.so' ./hello32 ERROR: ld.so: object '/$LIB/lib_init.so' ...

什么是32位Linux和64位Linux(英特尔台式机CPU)上的默认C调用约定?【代码】

什么是静态函数的默认调用约定说:static void PrintHelloWorld(char* s) { }下 Linux的:#36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux与gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3 Linux ubuntu 3.2.0-23-generic解决方法:在您列出的体系结构和编译器(Linux x86_64)下,使用了System V AMD64 ABI中描述的调用约定. 在Linux i386下,使用System V i386 ABI中描述的调用约定.

如何使用go1.6.2为Linux 32位构建【代码】

我可以设置GOARCH和GOOS值的任意组合以构建ELF 32位二进制文??件吗?解决方法:GOOS = linux和GOARCH = 386. 更多示例:架构:32-bit -> GOARCH=386 64-bit -> GOARCH=amd64OS:Windows -> GOOS=windows Linux -> GOOS=linux OS X -> GOOS=darwin FreeBSD -> GOOS=freebsd有关完整列表(有效的“个别”值),请参阅go/build/syslist.go文件:const goosList = "android darwin dragonfly freebsd linux nacl netbsd openbsd plan...

linux – 如何将64位.deb文件转换为32位.deb文件

应用程序的deb文件.我想将同一个文件转换为32位.deb文件.那么如何将64位.deb文件转换为32位.deb解决方法:这通常不可能. 如果.deb文件包含任何体系结构特定文件(即库或可执行二进制文件),那么您将需要获取这些文件的32位版本,或者自己从源重建包. 如果.deb的内容已经是跨平台的,那么它应该已经被标记为Architecture:全部由创建者. 如果创建者错误地将跨平台软件包标记为特定于平台,那么您可以自己手动编辑架构条目in the control f...

如何在32位支持PAE的Linux应用程序中使用3 GB以上的进程?

PAE(Physical Address Extension)于1994年在CPU中引入.这允许32位处理器访问64 GB内存而不是4 GB.从2.3.23开始,Linux内核为此提供支持.假设我正在启动其中一个内核,并希望在C中编写一个可以访问超过3 GB内存的应用程序(为什么3 GB?See this). 我如何访问超过3 GB的内存?当然,我可以分叉多个过程;每个人都可以访问3 GB,并可以相互通信.但对于大多数用例而言,这不是一个现实的解决方案.还有哪些其他选择? 显然,在大多数情况下,最好...

python – 如何在64位Linux中构建32位pypy JIT?

Pypy的JIT将在64位Linux上进行编译,因为它增加了64位支持,但是如果我想编译32位版本呢?我应该如何在该机器上交叉编译32位JITting pypy?解决方法:您可以尝试在chroot中编译它.

linux – 可以ptrace判断x86系统调用是否使用了64位或32位ABI?

我正在尝试使用ptrace跟踪由单独进程生成的所有系统调用,无论是32位(IA-32)还是64位(x86-64).我的跟踪器将在启用了IA-32仿真的64位x86安装上运行,但理想情况下可以跟踪64位和32位应用程序,包括64位应用程序是否分叉并执行32位进程. 问题在于,由于32位和64位系统调用号不同,我需要知道进程是32位还是64位来确定它使用哪个系统调用,即使我有系统调用号.似乎有imperfect methods,比如检查/ proc /< pid> / exec或(作为strace)寄存器st...

在32位和64位Linux系统上开发Java Eclipse项目【代码】

我有一系列相关的项目,我放在Git控件下(所有这些项目都在同一个工作区,这是Git存储库的顶层),并从我的桌面(32位)克隆到我的笔记本电脑(64位)所以我可以在任何地方工作.将排除工作空间.metadata文件夹,但会跟踪项目文件夹中的所有内容. 当我在笔记本电脑上打开克隆的工作区时,我遇到了一个错误:Project 'project' is missing required library: '/usr/eclipse/plugins/org.eclipse.swt.gtk.linux.x86_3.5.2.v3557f.jar'显然,64位ec...

32位linux安装chrome浏览器

首先你需要一个安装包,可以在CSDN上搜索google-chrome-stable_current_i386.deb。 然后在终端输入 sudo apt-get install gdebi 然后找到安装包的路径里,输入 sudo gdebi google-chrome-stable_current_i386.deb 即可。

linux – 在32位机器上远程调试64位进程【代码】

我试图在我的32位英特尔笔记本电脑的远程英特尔64位机器上调试(一个简单的Hello World应用程序,没有测试错误). 我跑gcc -g -o cexecute cexecute.c gdbserver localhost:2345 cexecute在远程机器上. 将笔记本本地端口2345转发到同一远程端口后,运行gdb并键入target remote localhost:2345我明白了:GNU gdb (GDB) 7.5-ubuntu Copyright (C) 2012 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http...