与位置无关的代码的区别:x86与x86-64
我最近正在构建针对x86-64架构的特定共享库(ELF),如下所示:g++ -o binary.so -shared --no-undefined ... -lfoo -lbar失败并显示以下错误:创建共享库时,不能使用针对“本地符号”的R_X86_64_32重定位;用-fPIC重新编译当然,这意味着我需要将其重建为位置无关的代码,因此适合链接到共享库。但这在具有完...
2024-01-10x86-64 AT&T程序集中地址的含义是什么?
什么是以下行的意思是:x86-64 AT&T程序集中地址的含义是什么?... 401147: ff 24 c5 80 26 40 00 jmpq *0x402680(,%rax,8) ... 是什么在内存地址前面的星号是什么意思? 另外,当内存访问方法缺少第一个寄存器值时,这意味着什么?通常它的意思是(“%register”,%rax,8),但在这种情况下,它没有第一个寄...
2024-01-10最新x86_64系统调用入口分析(基于5.7.0)
最新 x86_64 系统调用入口分析 (基于5.7.0)整体概览最近的工作涉及系统调用入口,但网上的一些分析都比较老了,这里把自己的分析过程记录一下,仅供参考。x86_64位系统调用使用 SYSCALL 指令进入内核空间,使CPU切换到ring 0。SYSCALL 指令主要工作为从MSR寄存器加载CS/SS,以及系统调用入口(entry_SYSCALL_64)...
2024-01-10x86-64 SysV ABI中的参数和返回值寄存器的高位是否允许乱码?
x86-64 SysVABI除其他事项外,指定如何在寄存器中传递函数参数(在中的第一个参数rdi,然后依次rsi类推),以及如何将整数返回值传递回(对于真正的大值rax,则传递rdx)。但是,我找不到的是传递小于64位的类型时参数或返回值寄存器的高位应该是什么。例如,对于以下功能:void foo(unsigned x, unsigned...
2024-01-10国产x86 CPU 16核心;雷神发布博睿FX2服务器
11月22日,雷神发布了基于国产x86处理器的博瑞FX2服务器,搭载双通道16核兆核KH-4000处理器,双通道多达32核。据Megacore官网介绍,雷神博瑞FX2-Z1UA1是基于最新一代Megacore凯盛KH-40000/16服务器处理器开发的高性能通用、2U双路机架式服务器。 单颗处理器16核心,基准频率2.2GHz,支持DDR4 3200 RDIMM内存,最高容...
2024-01-10如何在x86_64机器上编译glibc 32bit
我正在尝试在x86_64上编译glibc(作为次要的,不是系统的替代品)2.6,并试图使其生成32位对象。当我给它一个标准配置时,它可以很好地编译,生成通常的64位库对象。一些信息:$ uname -aLinux localhost.localdomain 2.6.18-164.11.1.el5 #1 SMP Wed Jan 2007:32:21 \ EST 2010 x86_64 x86_64 x86_64 GNU/Linux$ cat /etc/redhat-releaseCe...
2024-01-10“针对的重定位R_X86_64_32S”链接错误
我正在尝试将静态库链接到共享库,但出现以下错误/ usr / bin / ld:../../../libraries/log4cplus/liblog4cplus.a(fileappender.o):在创建共享库时,不能将R_X86_64_32S相对于“本地符号”进行重定位;用-fPIC重新编译../../../libraries/log4cplus/liblog4cplus.a:无法读取符号:错误值collect2:ld返回1退出状态但这可以在32位计...
2024-01-10在i386和x86-64上UNIX和Linux系统调用的调用约定是什么
系统调用是应用程序和Linux内核之间的基本接口。当Unix / Linux程序执行文件I / O,网络数据传输或调用某个与低级指令直接或间接交互的进程时,就会涉及系统调用。进行这些调用通常涉及使用名为glibc的库,该库包含函数。例子以下是一些常用的系统调用及其用途的列表。序号系统调用目的1chmod更改文...
2024-01-10如何知道本地node环境是基于x86还是x64的?
使用node很多年了,估计大家都没有意识过自己所使用的node,到底是x86版本还是x64位版本。潜意识里面,对于node的程序来说,也许版本号才是最重要的,而x64和x86的区别,似乎是从来没有出过什么乱子。不过,在最近的electron的ffi实验中,node的arch,竟然决定了最终的electron重构结果的成败,这是后话。...
2024-01-10x86,amd64,x8664,x64区别
百科AMD64,或“x64”,是一种64位元的电脑处理器架构。它是基于现有32位元的x86架构,由AMD公司所开发,应用AMD64指令集的自家产品有Athlon(速龙) 64、Athlon 64 FX、Athlon 64 X2、Turion(炫龙) 64、Opteron(皓龙)、Sempron(闪龙)、Phenom(羿龙)及最新的Phenom II、Athlon II处理器。 AMD美国超微半导体公司...
2024-01-10努比亚x6性能测评 努比亚x6怎么样
现在的手机市场上大屏手机是主流,其大屏所带来的优秀的游戏和视听体验,让所有的手机厂商都像约定好了一样在大屏上越走越远。刚开始的时候大家还会对大屏手机报以迟疑的态度,认为过大的屏幕不易单手操作且耗电过快。然而事实就是最好的证明,单手操作和大容量电池的不断改革让越来...
2024-01-10根据x64 / x86更改C#DllImport目标代码
我有使用DLLImport导入的外部c ++ dll。如果我的应用程序在x64中编译,则需要导入该dll的x64版本,如果它是x86构建,则需要x86dll。实现此目标的最佳方法是什么?理想情况下,我想要一些预处理器指令,但是我知道这在c#中不起作用?更多信息:DLL由设置为AnyCPU的项目导入。父项目是确定应用程序编译...
2024-01-10在x86 Linux上调试SIGBUS
在Linux的通用x86用户态应用程序上,什么会导致SIGBUS(总线错误)?我在网上可以找到的所有讨论都与内存对齐错误有关,据我了解,这实际上并不适用于x86。(我的代码在Geode上运行,以防那里存在任何相关的特定于处理器的怪癖。)回答:如果打开未对齐的访问陷阱,则可以从未对齐的访问中获取...
2024-01-10Intel x86 vs x64系统调用
我正在阅读有关x86和x64之间的汇编差异的信息。在x86上,系统调用号码放在中eax,然后int 80h执行以生成软件中断。但是在x64上,系统调用号码放在中rax,然后syscall执行。有人告诉我,这syscall比生成软件中断更轻松,更快捷。为什么在x64上它比x86快,并且我可以使用x在x64上进行系统调用int 80h吗?回...
2024-01-10酷乐视x6(酷乐视x6旗舰版)
一.酷乐视X6是什么?你好,是一款微型投影机,在网上看了一下,是最薄的微型投影机,外观很时尚,我挺喜欢的,觉得功能很全的,手机电脑都可以连接使用,投影机连接wifi就可以看视频,使用挺方便的 二.酷乐视X6和X6C哪个好?1.两个的功能都是差不多的,酷乐视X6的分辨率比X6C的分辨率高些...
2024-01-10小度x8和x10区别
小度x8采用105度屏幕倾斜,最佳观看角度。拥有行业领先的远场语音交互,搭载8寸超大智能屏,对触控进行了优化,5点触控,10ms极速响应。音效高保真。小度X8搭载了基于百度大脑最新语音交互算法,将错误率降低30%;支持人脸识别,可以离线快速识别“童脸”,立即开启儿童模式,秒变儿童专属桌面手势识别;尤其值得一提的是,小度在家智能屏X8支持“眼神唤醒”,用户无需喊“小度小度”,一个眼神就能唤醒。小度...
2024-01-09arm和x86区别
品牌型号:联想拯救者Y9000P系统:Windows11arm和x86区别:1、追求不同。X86主要追求性能,但会导致功耗大,不节能,而ARM则是追求节能,低功耗,但和X86相比性能较差。2、领域区别。ARM主要应用于移动终端之中,类如手机,平板等,而X86则是主要应用于Intel,AMD等PC机,X86服务器中。3、本质区别。X86使用CISC(ComplexInstructionSet...
2024-03-10如何反汇编原始的16位x86机器代码?
我想分解一下我拥有的可引导x86磁盘的MBR(前512个字节)。我已将MBR复制到使用dd if=/dev/my-device of=mbr bs=512 count=1对可以反汇编文件的Linux实用程序mbr有何建议?回答:您可以使用objdump。根据本文的语法为:objdump -D -b binary -mi386 -Maddr16,data16 mbr...
2024-01-10+86的手机号码格式
品牌型号:iPhone 14&&华为P50系统:iOS 16.1.2&&HarmonyOS 2+86的手机号码格式:开头XXX为运营商号码,根据开头的三位数字可以区分出号码的归属运营商。中间部分的XXXX为所在区域的地市号码,从这个数字可以找到该号码在哪个地市办理。至于最后四个数字就是随意选取的。在国内拨打号码直接输入11位手机号码即可,在国外拨打需要加+86,例如+86 XXXXXXXX...
2024-02-19