编程探索
㈠ x86/x64体系探索及编程的章节阅读
如果想对x86与x64有较全面的了解,那么从第1章到第21章最好都去阅读。对于x86与x64编程基础不是那么好的读者,第1章和第2章是必须要去了解的。
要想更好地了解x86与x64平台,第1篇、第2篇,以及第4篇是需要好好阅读的,它们是x86与x64架构体系的基石。
第3篇与第5篇旨在帮助读者扩展视野,它们是让x86与x64平台变得强大的地方。
x86与x64的章节
在每一个章节里都会有x86与x64体系的相关描述,特别是在第2篇和第3篇。如非明确注明,x86下大多数的特征在x64下也是适用的。譬如对MSR(Model-Specific Register)的访问方式在64位执行环境下与x86体系下是一样的;再譬如对local APIC的编程方式,在x64下与x86下也是一样的;又譬如对x87 FPU与SSE指令的执行环境,大多数情况下在x64下与x86下是一样的。
总之,除了第12章明确描述x64内容外,其他章节都会含有x86与x64的描述。
只要您有耐心,它们都是不二之选。
致谢
感谢电子工业出版社博文视点编辑及相关工作人员的辛勤劳动使本书得以出版,感谢谭文先生作序,感谢罗云彬先生推荐。
邓志
2012年8月
㈡ C语言C++探索之旅:什么是编程
编程是编写程序的中文简称,就是让计算机代为解决某个问题,对某个计算体系规定一定的运算方式,是计算体系按照该计算方式运行,并最终得到相应结果的过程。
为了使计算机能够理解人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算体系之间交流的过程就是编程。
编程:设计具备逻辑流动作用的一种“可控体系”【注:编程不一定是针对计算机程序而言的,针对具备逻辑计算力的体系,都可以算编程。】
㈢ x86/x64体系探索及编程的本书特色
本书是对Intel手册所描述的处理器架构进行探索和论证,每个章节都有相应的测试实验,所运行的实验例子可以在真实的机器上执行。部分实验是不能在VMware虚拟机和bochs模拟器上进行的,必须要在真实机器上运行。例如:第3篇的绝大部分内容和第4篇的部分内容。
通过阅读本书,大约能培养自己动手实验的能力。由于本书的实例是在祼机(无OS环境)上运行,因此,如果能走完本书的例子,加上一些OS知识的处理,基本上就可以写出自己简易的OS核心。
关于x86与x64
本书的另一个特色是无缝地集成了对x86与x64体系的描述。因此,既适合于x86体系,也适合于x64体系。这是因为,x64是在x86的基础上扩展而来的64位技术,x64体系有x86的全部内容,又增添了全新的long-mode工作模式与64位执行环境。
在现在的技术趋势下,为什么还要保留对x86体系的描述?一方面,这能满足不同的读者层;另一方面,也是最重要的原因:x64体系并不是一个全新的平台架构,而是基于x86架构扩展而来的。因此对x64的描述绝不能脱离x86架构,x64体系还保留着向下兼容的能力,在long-mode的64位执行环境里,许多情况下仍然可能使用常见的32位编程技术,这主要是因为,在64位执行环境里,尽管default address size(默认地址大小)是64位,然而绝大部分指令的default operand size(默认操作数大小)依然是32位。
从软件编程的角度上看,Pointer(指针)值是属于64位的(地址宽度为64位),但是integer与long仍属于32位(默认的数据宽度为32位),除非明确数据使用64位的long long类型访问,64位执行环境里指令使用REX prefix(REX扩展操作数前缀)来达到访问64位的数据宽度。
当然,如果只把它看成一本描述x64体系的书籍,那也是没问题的!即使是Intel官方的手册里也是同时在对Intel64与IA-32架构进行描述。
㈣ x86/x64体系探索及编程的名家推荐
·在学习x86汇编语言的过程中,总会遇到这样一种情况:基础的指令和架构已经学完,驱动或者应用也会开发了,但想要再进一步发掘处理器的新增指令集以及新特征,却发现参考资料只有Intel的指令手册,每条指令寥寥数语的说明文字对于了解复杂的新特征根本是杯水车薪。现在,本书以详尽的示例带领读者探索这部分内容,全面深入地为读者展现了x86处理器的高级特征。
罗云彬
畅销书《琢石成器——Windows环境下32位汇编语言程序设计》作者
·这本书真正是让我眼前一亮。到目前为止,这是我见过的对x86处理器介绍得最详尽又最具实践指导意义的书。我如果学习的话,一定会选择这本书。很显然,在实践中解决困难,应用所学知识的乐趣,是任何高大全的课程所无法比拟的。如果耐心地将这本书上的内容读过,将作者提供的例子一一运行过,我相信对x86处理器的知识,必定会了然于胸。
谭文
畅销书《天书夜读——从汇编语言到Windows 内核编程》
《寒江独钓——Windows 内核安全编程》作者
㈤ 想让孩子学习编程,该如何孩子学习呢
应该先了解编程、选择符合孩子的编程语言、掌握学习方法和技巧,培养孩子对编程的兴趣,保持良好心态,不能急功近利。
想让孩子学习编程是好事,但在让孩子开始学习以前,家长一定要对编程有一个全面而详细的了解,要知道现在世界上出现的编程语言已经有600多种,让孩子学习只能学习其中的一种或者几种,这时就要根据孩子的年龄段和所掌握的编程基础来选择合适的编程语言,选择时一定要遵循从易到难的原则。
三、放平心态不能急功近利
培养孩子学习编程,一定要放平心态,不能急功近利,因为学习编程能锻炼孩子的逻辑思维和数学能力,还能开发智力,让他具有更好的创造力,但这需要一个比较长的过程,不是能立竿见影的事情,如果参加编程培训,短时间内没有什么好的效果,不能太着急,要用心了解孩子学的东西,发现孩子的变化,时间长以后就会发现孩子的逻辑思维更清晰,能轻松解决自己遇到的一些问题。
㈥ x86/x64体系探索及编程的前言
2003年前后,我开始对x86平台的一些架构知识产生了浓厚的兴趣,在业余时间断断续续地学习了AMD的System Programming手册。后来,为了方便,索性挑了些感兴趣的章节打印出来,偶尔拿出来翻翻。也曾通过写一个OS来学习x64的体系知识,当然这个OS只是个试验品。
在计划好写本书之后,我又好好地重读了Intel的几卷手册,特别是Intel 64 and IA-32 Architectures Software Developer's Manual的Volume 3 System Programming Guide和Volume 1 Basic Architecture。
因此,本书所写的内容是基于Intel处理器的,至于所测试机器的处理器则是Intel的Westmere微架构处理器(SandyBridge的上一代)。但是,如非明确注明,大部分内容对于AMD处理器也是适用的,有些地方甚至反复多次对Intel与AMD的区别进行了强调。
尽管我已竭力探索事物的本质真相,然而不可否认,本书中仍可能会有些个人主观的认知因素,但必须说明的是,这些主观的认知是经过客观的实验事实而得出的,本书的每个知识点都经过了实验例子进行测试。在本书成书过程中,我慢慢地发现,如果没有经过实验的测试竟然觉得心里不踏实,总觉得欠缺什么而不敢下笔。本书中有上百个实验,每个章节都有数个例子。然而比起我所做过的测试仍相距甚远。
通过本书,我希望能引起读者的共呜,激发求知的欲望和探索的精神,以及学会怎样“肓人摸象”。尽管摸到的可能只是事实的一部分,但是只要我们不断地进行摸索,经过反复的测试,我们终将会慢慢积累知识,在一无所知的情况下逐步接近真相。
㈦ 如果想探索一下游戏编程的话,还需要做哪些学习呢
真正的游戏编程需要接触C/C++/VC++,WIN API,directx SDK,可以进我空间参考有关文章
㈧ 计算机编程是人们不断探索计算机发现的,还是人事先设计好,规定好的
你好!
电脑所能识别的是机器码也就是二进制码;
为了编写方便就产生了汇编语言;
之后呢为了各种不同的功能需求就产生了大量的高级语言
机器呢是事先设定好的,但是呢,编程的内容做什么事情都是人们不断探索发现的
仅代表个人观点,不喜勿喷,谢谢。
㈨ C++编程:设计程序探索最早的合数世纪从哪一年开始算,比如:20世纪是从公元1901年到公元2000年)。
#include<iostream>
usingnamespacestd;
intmain()
{
intn,i=500,s,x,count=0;
longj,k;
cin>>n;
while(count<n)
{
s=0;
for(j=i*100-99;j<i*100;j+=2)
{
x=0;
for(k=3;k*k<=j;k+=2)
if(j%k==0)
{
x=1;
break;
}
s+=x;
}
if(s==50)
count++;
i++;
}
cout<<j-101<<""<<j-2<<endl;
return0;
}
㈩ directx 10 3d游戏编程深度探索 怎么样
我也是觉得好玩学的,我学的是DirectX 10
使用的书是Introction to 3D Game Programming with DirectX 10,英语的,如果你有勇气看,这本。国内最流行的是 DirectX 9.0 3D 游戏开发编程基础。