深入X64架构(翻译)】的更多相关文章

| 本人只是原创翻译,而且翻译也不一定好,纯当锻炼.内容如果英文好的同学,建议直接去看英文原版,比较爽. NBAOL系列2代产品是 windows平台64位的应用程序,在技术测试过程中,遇到一些crash.但是通过生成的pdb文件却无法找到崩溃的地址.后来在网上看到了X64 Deep Dive这篇文章,觉得写得非常好,也解决了我的问题.这篇文章里面的知识点需要经常拿出来研究,本人英文不太好,每次看起来非常吃力,所以决定花点时间把这篇文章翻译下,以备需要用的时候拿出来看看,内容有错误的地方欢迎大家…
原文链接:https://blog.fanscore.cn/p/27/ 一. 函数调用相关指令 关于栈可以看下我之前的这篇文章x86 CPU与IA-32架构 在开始函数调用约定之前我们需要先了解一下几个相关的指令 1.1 push pushq 立即数 # q/l是后缀,表示操作对象的大小 pushl 寄存器 push指令将数据压栈.具体就是将esp(stack pointer)寄存器减去压栈数据的大小,再将数据存储到esp寄存器所指向的地址. 1.2 pop popq 寄存器 popl 寄存器…
概述 ovn-controller是OVN在虚拟机上的agent,北向连接OVN的南向数据库,学习OVN的配置和状态,并使用虚拟机的状态来填充PN表以及Binding表的Chassis列:南向连接openflow控制器ovs-vswitchd,使用ovsdb-server来监控和控制Open vSwtich的配置. CMS | | +-----------|-----------+ | | | | OVN/CMS Plugin | | | | | | | | OVN Northbound DB…
使用VS里面的dumpbin.exe 用法:dumpbin /headers *.exe(需要运行vcvarsall.bat) C32 or Winhex PE  L为x86.PE  d†为x64 PE结构详解:http://blog.csdn.net/reversalc/article/details/8022977 http://blog.csdn.net/evileagle/article/category/1637517 VC++检测可执行程序DLL.EXE等是32位还是64位 COFF…
[说明] 1.  本文是意译,加之本人英文水平有限.windows底层技术属菜鸟级别,本文与原文存在一定误差,请多包涵. 2.  由于内容较多,从word拷贝过来排版就乱了.故你也可以下载附件. 3.  如有不明白的地方,各位雪友可通过附件中的联系方式联系我,同时建议各位参照原文阅读...... [64位windows系统的PatchGuard] 原文:Bypassing PatchGuard on Windows x64.pdf 关于windows x64上的PatchGuard是干什么用的,…
[翻译].NET 5中的性能改进 在.NET Core之前的版本中,其实已经在博客中介绍了在该版本中发现的重大性能改进. 从.NET Core 2.0到.NET Core 2.1到.NET Core 3.0的每一篇文章,发现谈论越来越多的东西. 然而有趣的是,每次都想知道下一次是否有足够的意义的改进以保证再发表一篇文章. .NET 5已经实现了许多性能改进,尽管直到今年秋天才计划发布最终版本,并且到那时很有可能会有更多的改进,但是还要强调一下,现在已提供的改进. 在这篇文章中,重点介绍约250个…
前 言 移动App是对URL和搜索引擎的革命,当今移动App开发貌似出现两大阵营:Native 和 Web,各自都认为自己才是未来的趋势,Native操作流畅.迅速,Web开发周期相对较短,还能轻松跨平台,但是,在项目的实际应用中到底如何?接下来,我们根据开发人员的讨论,做一个对比分析就知道答案了~ 对比分析   Native App  Web App 优 势 1.用户体验稳定.流畅 2.优质界面.优雅交互 3.容易被记住,留存率高 4.用户黏度高 5.支持离线功能 6.可直接操作本地资源 7.…
转:http://kaneboy.blog.51cto.com/1308893/328000 关于<SharePoint 2010应用程序开发指南>,我和杜伟同学正在撰写中,希望下半年早点写完.通常书正式出版的时候,出版社都会挑选2.3章,将电子版开放出来以供预览,我想了一下,与其等到定稿后.出版前才提供预览,不如早点将一些节选的章节开放出来,让大家"一起来找茬"- 大家在阅读的过程中,发现内容有任何的问题,都可以给我发邮件(kaneboy [at] gmail.com)告…
最近在写一些字符串函数的优化,用到x64汇编,我也是第一次接触,故跟大家分享一下. x86:又名 x32 ,表示 Intel x86 架构,即 Intel 的32位 80386 汇编指令集. x64:表示 AMD64 和 Intel 的 EM64T ,而不包括 IA64 .至于三者间的区别,可自行搜索. x64 跟 x86 相比寄存器的变化,如图: 从图上可以看到,X64架构相对于X86架构的主要变化,是将原来所有的寄存器都扩大了一倍,例如EAX现在扩充成RAX,同时,又新增加了从R8-R15这…
1.引言 现如今已经进入互联网时代,无论是工作还好娱乐都已经离不开互联网,与此同时,网络相关的问题也时不时的侵扰着我们,这需要我们具有一定网络相关知识来解决相关问题,而这时,一款工作便利,免费的网络分析工具必不可少.目前抓包软件也有很多,但能够自动分析数据包的却不多,为此我们计划开发一这个能自动分析的抓包软件. 2.总体设计 2.1.设计简述 本软件是一个能自动分析本机所在网络中虚假数据包的功能.本软件分为抓包模块(cp模块),分析虚假虚假数据包模块(ping模块),数据显示逻辑模块和界面模块.…
linux 系统查看 CPU 架构命令: $ arch armv7l $ uname -m armv7l # -m:--machine # 进一步查看处理器信息 $ cat /proc/cpuinfo 一般嵌入式设备运行在 ARM 处理器上: 树莓派 一般的 PC:x86.x64 架构: 1. arm 架构处理器的位数 $ which bash /bin/bash $ file /bin/bash…
原作者:Eli Bendersky http://eli.thegreenplace.net/2011/11/11/position-independent-code-pic-in-shared-libraries-on-x64 之前的文章.以为x86架构编译的代码为样例,解释了位置无关代码(PIC)怎样工作.我承诺在还有一篇文章里涉及x64[1]上的PIC,如今就是了.本文将不会太进入细节,由于假定读者已经理解了理论上PIC怎样工作. 总之.对于这两个平台想法是相似的,但由于每一个架构独有的特…
原作者:Eli Bendersky http://eli.thegreenplace.net/2012/01/03/understanding-the-x64-code-models 在编写x64架构代码时一个有趣的问题是使用哪个代码模型.这可能是一个不广为人知的议题,但如果想理解编译器生成的x64机器代码.熟悉代码模型是有教育意义的.这与优化及对哪些真正关心性能,从哪怕最小的指令也要抠性能的人有密切关系. 关于这个议题网上或别处的资料非常少. 眼下为止最重要的资源是官方的x64 ABI,你能够…
(原文翻译过来的,原文链接http://blogs.windows.com/buildingapps/2015/08/06/windows-bridge-for-ios-lets-open-this-up/) 这里我带大家深入了解一下Windows bridge for iOS(以前叫Project Islandwood)是什么.它如何使iOS开发者在Windows下使用他们现成的代码和功能以及我们决定将这个项目做成开源的原因. 正如月份的Build大会上展示的一些元素还没有准备好或者说还在初始…
在通用PC领域,不论是windows还是linux界,我们都会经常听到"32位"与"64位"的说法,类似的还有"x86"与"x86_64","i386"与"amd64",这两组概念之间有着怎样的联系和区别呢?实际上这两组概念涉及了三个层次:硬件,系统和软件. 1 硬件 早期的intel处理器,如i386,486,586,奔腾系列的CPU架构,都是32位的(32位的寄存器,32位的虚拟地址…
linux内核学习之三:linux中的"32位"与"64位" 在通用PC领域,不论是windows还是linux界,我们都会经常听到"32位"与"64位"的说法,类似的还有"x86"与"x86_64","i386"与"amd64",这两组概念之间有着怎样的联系和区别的?实际上这两组概念涉及了三个层次:硬件,系统和软件. 1 硬件 早期的intel处…
可能有人会说,一个软件的安装有什么好谈的,无非就是"同意,同意,同意......是,是,是"诸如此类的选项.的确,Wireshark软件的安装步骤是挺简单的,不过本文不是想谈安装步骤,而主要谈从安装步骤的向导中能够学到的知识. 一.WireShark安装准备 读者可以从WireShark网站下载相应的WireShark版本.作者使用的是Windows 10系统,下载并成功安装的版本是Wireshark-win32_2.0.3版本. 图1  Download Wireshark界面 当然…
在我的小 rmbp 256G的硬盘里,实在是装不下100多个G的虚拟机了,所以想把一些东西迁移到这两年很火的Docker下,Docker以前也有过一两次,只是按着别人给的用法用的,具体的一些细节并没有深入,和git一样,这么牛掰的东西怎么能不好好学一些呢? Docker和虚拟机的区别 Docker是一种容器,虚拟机是一种管理程序虚拟机化(hypervisor virtualization,HV).管理程序虚拟化通过中间层将一台或者多台独立的机器虚拟运行在物理硬件之上,而容器(比如Docker)则…
python的官方网站 https://www.python.org/ python 3.6 的官方网站的下载地址 https://www.python.org/downloads/release/python-362/ 翻译如下: 一般用户选择这个下载 Windows x86可执行安装程序 https://www.python.org/ftp/python/3.6.2/python-3.6.2.exe Python操作 上映日期(待定):2017-07-17 Python操作是第二个维护版本的…
是啥 直接上图 [翻译过来]这个库将各种库添加到您的项目中,这些库在x86和x64架构上构建OpenGL应用程序所必需的.包括FreeGLUT,GLFW和GLEW.也就是说,大家常用的几个OpenGL头文件都包含,如#include<GL/glut.h>,#include <GL/glew.h>,#include <GL/freeglut.h>. 安装过程: (1)打开VS,并新建一个C++项目,然后点击 项目-管理Nuget程序包. (2)点击浏览-在搜索栏输入Nup…
序言 前段时间,我连续写了十来篇CPU底层系列技术故事文章,有不少读者私信我让我写一下CPU的寄存器. 寄存器这个太多太复杂,不适合写故事,拖了很久,总算是写完了,这篇文章就来详细聊聊x86/x64架构的CPU中那些纷繁复杂的寄存器们. 长文预警,时速较快,请系好安全带-起飞~ 自1946年冯·诺伊曼领导下诞生的世界上第一台通用电子计算机ENIAC至今,计算机技术已经发展了七十多载. 从当初专用于数学计算的庞然大物,到后来大型机服务器时代,从个人微机技术蓬勃发展,到互联网浪潮席卷全球,再到移动互…
Win10安装Linux子系统 1. 正常情况 步骤1 - 启用 Windows Linux版本子系统(Windows Subsystem for Linux) dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart 步骤2 - 确认系统是 Windows 10 是1903 或以上版本 微软官方原文(翻译后): 如果您正在运行 Windows 10 版本 190…
NET 6.0引入了Crossgen工具的后续版本Crossgen2,这个工具提供了程序提前(AOT)编译的能力. 什么是CrossGen? 我们日常开发时使用C#编译器CSC编译一个.NET程序集,程序集包含MSIL代码(中间语言代码).当应用程序运行时,目标环境的本地JIT编译器将MSIL代码转换为本机代码,然后CPU才能执行它们. 但是这种JIT编译到导致应用程序启动很慢,因为JIT编译器必须花时间翻译代码. 为了实现更快地启动应用程序,CoreCLR包含了一个名为CrossGen的工具,…
刚开始接触Android Studio,很多不适应的地方,自己慢慢摸索,记录下了一些问题和解决途径. 为了能使用android虚拟机,需要下载镜像,镜像有基于arm架构的也有基于intelx86.x64架构的.我记得有一种是不能直接使用的,我用的windows系统intel处理器,理所当然认为arm架构的不能直接使用,于是先下载的基于intel架构的镜像,建立虚拟机后发现运行出错,好像是缺少了HAXM什么的,于是试了下ARM的,能直接使用,于是就使用了ARM架构的,这里记录下. Android…
前言 原创文章,转载引用务必注明链接,水平有限,欢迎指正. 本文环境:ubilinux 3.0 on UP Board 初识免流 所谓免流,就是免除手机访问网络产生的流量费用.其原理在乌云网上有过报道,大致就是手机在访问运营商的服务时(比如手机营业厅)是不产生流量费用的,然后可以利用技术手段让手机访问其他网站产生的流量伪装成运营商服务. 最早接触是在贴吧看到fmns什么的,自古贴吧出大神,后来听说妖火网,还向小邓要了个账号去一窥究竟.再后来听说了云免流,甚是高端. 免流相关网站 4g5g 恩山无…
本文是最初是来自国外的这篇:PHP Performance Evolution 2016, 感谢高可用架构公众号翻译成了中文版, 此处是转载的高可用架构翻译后的文章从PHP 5到PHP 7性能全评测(含未发布的JIT版PHP 8对比), 稍微调整了格式而成. 导读:PHP 是 Web 开发最常用的语言,每个大版本的更新都带来不少新特性和性能提升.特别是 PHP 7.0 的发布,带来 PHP 性能飞跃.本文作者对各个 PHP 版本进行了 CPU 性能基准测试,并且带来了PHP下个大版本的消息.本文…
本文是最初是来自国外的这篇:PHP Performance Evolution 2016, 感谢高可用架构公众号翻译成了中文版, 此处是转载的高可用架构翻译后的文章从PHP 5到PHP 7性能全评测(含未发布的JIT版PHP 8对比), 稍微调整了格式而成. 导读:PHP 是 Web 开发最常用的语言,每个大版本的更新都带来不少新特性和性能提升.特别是 PHP 7.0 的发布,带来 PHP 性能飞跃.本文作者对各个 PHP 版本进行了 CPU 性能基准测试,并且带来了PHP下个大版本的消息.本文…
Windows 10 SDK预览版需要10030以上版本号的Win 10预览版系统才能使用.之前我安装的9926的系统,然后安装VS 2015 CTP 6,再装Win 10 SDK,但是在新建项目后,打开XAML文件时,XAML设计器无法正常注册. 后来,我在SDK目录下的描述API协定的xml文件中看到,对系统的版本要求是在10030以上.所以,应该安装3月份的预览版,即10041以上的版本就能正常使用XAML设计器了. 在VS的使用过程,如果出现错误,不要急着发狂,因为那样做除了伤身之外别无…
如今,尽管WPF.UWP大行其道,大有把Winform打残干废的趋势.但是还是有那么一波顽固不化的老家伙们固守着Winform,其中就包括我. 好吧,既然都说Winform做得软件不如WPF界面美观效果绚丽,那么我们就找一个方法让Winform也拥有漂亮的界面.DevExpress和ComponentOne都是不错的选择,Telerik虽说是做Asp.net组件出生的,但是他家的UI for Winform做得也很不错.稍等,那问题来了,这些组件收费昂贵不说,而且是年付,起价都得几百美刀.对于我…
一.AgileEAS.NET SOA 中间件简介      AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市场快速变化的开发团队,以达到节省开发成本.缩短开发时间,快速适应市场变化的目的.      AgileEAS.NET SOA中间件平台提供了敏捷快速开发软件工程的最佳实践,通过提供大量的基础支撑功能如IOC.ORM.SOA.分布式体系及敏捷并发开发方…