汇编
文章平均质量分 91
onlyonename
这个作者很懒,什么都没留下…
展开
-
用汇编的眼光看C++ (之x86汇编)
转自:http://blog.csdn.net/feixiaoxing/article/details/6755132 说到用汇编的眼光看C++语言,那么怎么阅读汇编代码就成了我们需要解决的一个问题。其实,实话说,汇编其实不难。只是我们需要明白这样几个问题: (1)汇编是什么语言? (2)汇编中的主要内容有哪些? (3)汇编语言是怎么和实际C/C转载 2011-11-22 23:40:27 · 439 阅读 · 0 评论 -
用汇编的眼光看C++(之const属性)
转自:http://blog.csdn.net/feixiaoxing/article/details/6786622 const是C/C++语言中的关键字,但是如果用的好,可以极大地提高代码的健壮性。一般来说const使用的地方还是蛮多的,但是主要还是下面几个地方:(1)普通变量的保护;(2)地址空间的保护;(3)类初始变量的声明和保护;(4)类变量在函数中的保护。const的保护转载 2011-11-24 18:39:02 · 429 阅读 · 0 评论 -
用汇编的眼光看C++(之模板类)
转自: http://blog.csdn.net/feixiaoxing/article/details/6787867 如果类是一种确定的数据类型,那么模板就是一种对类的抽象。假设有这么一种类,它需要进行数据的计算,而且类型还很多,那么我们可能就要针对不同类型的数据定义不同的类。我们可以用下面一段代码说明问题:view plainclass in转载 2011-11-24 18:54:20 · 965 阅读 · 1 评论 -
用汇编的眼光看c++(之模板函数)
转自: http://blog.csdn.net/feixiaoxing/article/details/6792049 如果说模板类定义的是一种数据类型,那么模板函数定义的就是一种函数。既然是函数,那么就有输入数据和输出数据。和模板类的概念差不多,模板函数的初衷也是为了在函数操作上抽取共同的特性,屏蔽的是类型的不同和差异。我们可以通过下面一个简单的代码说明问题:转载 2011-11-24 22:43:27 · 421 阅读 · 0 评论 -
从汇编的眼光看C++(之指针拷贝)
转自:http://blog.csdn.net/feixiaoxing/article/details/6827801 指针是编程人员的梦魇,对C语言的开发者是如此,对C++的开发者也是如此。特别是在C++中,如果不注意处理类中的指针,非常容易出问题。如果朋友们不相信可以看看下面的代码:view plainclass data {转载 2011-11-25 09:24:34 · 376 阅读 · 0 评论 -
用汇编的眼光看C++(之缺省模板、特化模板)
转自:http://blog.csdn.net/feixiaoxing/article/details/6795401 缺省函数是C++的一个基本特色。缺省函数定义比较简单,也就是说,对于函数的某一个输入参数或者几个输入参数,如果你没有特定的数值的话,那我们就会用缺省的数据进行代替。如果你在调用的过程中使用了自己的数据,那么缺省数据将被我们自己定义的数据覆盖。下面就是一个缺省函数的示例:转载 2011-11-24 23:35:55 · 418 阅读 · 0 评论 -
从汇编的眼光看C++(之泛型编程)
转自:http://blog.csdn.net/feixiaoxing/article/details/6802182 泛型编程其实不难。本质上说,泛型编程就是让通用的算法应用到所有的数据类型。具体来说,int是我们熟悉的整数类型。那么一般情况下,如果我们写一个int整数的排序算法,应该怎么写呢?大家可以自己试试?下面的代码是我的一个范例;view plain转载 2011-11-25 00:20:29 · 516 阅读 · 0 评论 -
从汇编的眼光看C++(之递归函数与模板类)
转自:http://blog.csdn.net/feixiaoxing/article/details/6798532 递归,相信有过基本C语言经验的朋友都明白,就是函数自己调用自己。所以,本质上说,它和普通的函数调用没有什么区别。今天之所以会把模板类和递归联系在一起,是因为我们可以用递归的方法实现模板的递归。闲话不多说,我们先从一个统计函数开始说起。view转载 2011-11-24 23:49:48 · 455 阅读 · 0 评论 -
从汇编的眼光看C++(之delete内存泄露)
转自:http://blog.csdn.net/feixiaoxing/article/details/6823809 有过C语言编程的朋友大多知道,如果在malloc内存之后不及时free掉内存,那么很有可能会造成内存泄露的。那么在C++上面,是不是也存在这样的问题呢?结果是C++上面同样也存在内存泄露的危险。这个危险就是如果new后面不能delete的话,也会造成内存的泄露。还有转载 2011-11-25 09:02:55 · 393 阅读 · 0 评论 -
用汇编的眼光看C++(之算术符重载陷阱)
转自:http://blog.csdn.net/feixiaoxing/article/details/6831639 在算术符重载里面,“=”重载可能是最经常使用的一种。但是好多人就误以为在函数中,凡是类出现“=”的地方,那就是调用算术符重载,其实不然。为什么呢?我们可以看看下面的代码。首先,我们定义一个基本类:view plainclass转载 2011-11-25 12:48:33 · 399 阅读 · 0 评论 -
.bss段和.data段的区别
转自:http://blogger.org.cn/blog/more.asp?name=FoxWolf&id=29997【例一】用cl编译两个小程序如下:程序1:int ar[30000];void main(){ ......}程序2:int ar[300000] = {1, 2, 3, 4, 5, 6 };void ma转载 2012-02-09 11:55:19 · 568 阅读 · 0 评论 -
调试器工作原理之三——调试信息
转自:http://blog.jobbole.com/24916/本文是调试器工作原理探究系列的第三篇,在阅读前请先确保已经读过本系列的第一和第二篇。本篇主要内容在本文中我将向大家解释关于调试器是如何在机器码中寻找C函数以及变量的,以及调试器使用了何种数据能够在C源代码的行号和机器码中来回映射。调试信息现代的编译器在转换高级语言程序代码上做得十分出色,能够将转载 2013-01-02 00:16:10 · 1374 阅读 · 0 评论 -
用汇编的眼光看C++(之算术符重载)
转自:http://blog.csdn.net/feixiaoxing/article/details/6785924 算术符重载是类的有一个特性,但是每个人使用的方法不一样。用的好,则事半功倍;但是如果不正确的使用,则会后患无穷。 (1) 简单算术符介绍 那什么是算术符重载呢?我们可以举个例子。一般来说,我们定义两个int类型的变量的话,我们就可转载 2011-11-24 17:19:34 · 430 阅读 · 0 评论 -
用汇编的眼光看C++(之类静态变量、静态函数)
转自:http://blog.csdn.net/feixiaoxing/article/details/6783482 看过设计模式的朋友都知道,我们在设计单件模式的时候离不开类的静态函数。和类的成员变量不同,类的静态变量属于全部类对象数据;同样和类的成员函数不同,类的静态函数属于全部类函数共有。这句话读来想来有一些拗口,不过没有关系,我们可以通过一段代码来说明问题。转载 2011-11-24 01:12:26 · 685 阅读 · 0 评论 -
用汇编的眼光看C++(之类继承)
转自:http://blog.csdn.net/feixiaoxing/article/details/6775676 继承是类的一个基本属性,可是在类的继承过程中,函数是怎么初始化?怎么析构的呢?我们不妨看看下面这样的一段代码?view plainclass employee { public: employee(转载 2011-11-23 23:47:45 · 383 阅读 · 0 评论 -
用汇编的眼光看C++(之指针2)
转自:http://blog.csdn.net/feixiaoxing/article/details/6758162(4)指针和引用 引用是C++和语言的区别之一。其实本质上说两者是一致的。朋友们可以看下面两段代码。 a)指针和指针的函数代码view plainvoid add_point(int* q) {转载 2011-11-23 00:23:38 · 558 阅读 · 0 评论 -
用汇编的眼光看C++(之判断流程)
转自:http://blog.csdn.net/feixiaoxing/article/details/6761837#comments 在我们平常的编程当中,用于判断的地方很多,但主要有下面三种方式:if-else;switch;?:。其中最后一种方式在本质上和if-else是一样的。switch和if-else其实也一样,如果我们把switch改成if(...) {} else if转载 2011-11-23 11:26:20 · 323 阅读 · 0 评论 -
用汇编的眼光看C++(之循环流程)
转自: http://blog.csdn.net/feixiaoxing/article/details/6764791循环是我们编程中遇到的另外一项重要技术。通过反复的迭代运算,我们可以获取想要的任何结果。当然这种迭代是有基本条件的,或是以时间为条件的,或是以空间为条件的,或者是某一种外来交互作为条件的。循环的方式有很多种,但是常用的还是:while、for、do-while、goto转载 2011-11-23 11:32:42 · 341 阅读 · 0 评论 -
用汇编的眼光看C++(之退出流程)
转自:http://blog.csdn.net/feixiaoxing/article/details/6766366 无论是在判断还是在循环的过程中,通常在遇到合适的条件的时候就会退出相应的模块。跳出模块运行的方式很多,break,continue,return都可以。下面我们就可以分别对他们进行将介绍。 (1)continue只能用于循环,而break循环、判断都可以应转载 2011-11-23 11:44:38 · 491 阅读 · 0 评论 -
用汇编的眼光看C++(之嵌入汇编)
转自:http://blog.csdn.net/feixiaoxing/article/details/6767342嵌入式汇编是对纯汇编文件的一种有益补充。通常会有下面几种情况使用到汇编:(1)提高代码的工作效率 ,使用到cpu的一些特殊指令,比如说mmx指令;(2)对硬件进行某种特殊的操作,比如说关中断等,这在内核级的代码中是比较常见的。但是我们讲究嵌入式汇编的一些基本点和大家一起讨论转载 2011-11-23 12:30:11 · 372 阅读 · 0 评论 -
用汇编的眼光看C++(开篇)
转自:http://blog.csdn.net/feixiaoxing/article/details/6751534 很多朋友,包括我自己在内,对C++语言的很多特性不是很明白。特别是几年前找工作的时候,为了应付来自工作单位的考试,我经常逼着自己的去记住一些复杂的试题和答案。可是常常时间已过,一切又回到了原点。原来没有弄清楚的问题还是没有弄明白,一切都没有发生改变。直到若干年后,当我在转载 2011-11-22 22:49:16 · 659 阅读 · 0 评论 -
用汇编的眼光看C++(之指针1)
转自:http://blog.csdn.net/feixiaoxing/article/details/6757851 指针是我们在C/C++中经常遇到的一种数据类型。指针用的好,可以提高代码的可读性;但是如果使用不恰当,反而会造成很大的麻烦。指针,也就是指向某一种数据类型的地址。这种类型很多,它可以是编程语言自带的类型,比如说int、long、short、char、float、dou转载 2011-11-22 23:53:58 · 347 阅读 · 0 评论 -
用汇编的眼光看C++(之特殊函数)
转自:http://blog.csdn.net/feixiaoxing/article/details/6768054 这里说的函数主要指的是inline函数、static函数。inline函数比较特殊,它既具有宏的性质,同时也能让编译器对它进行函数检查。static函数同样也比较特殊,它只可以被同文件的函数使用。如果static函数在include文件中,那么这个头文件只要被使用一次,那转载 2011-11-23 13:13:14 · 386 阅读 · 0 评论 -
用汇编的眼光看C++(之class构造、析构)
转自:http://blog.csdn.net/feixiaoxing/article/details/6769663 前面我们讨论基本上都是C语言的内容,还没有真正触及到C++的相关知识。从这篇博客之后,我们将会更多触及类的内容。类的属性很多,今天我们讨论主要就是构造函数、析构函数。 (1)如果没有构造函数、析构函数呢?view转载 2011-11-23 18:38:04 · 453 阅读 · 0 评论 -
用汇编的眼光看C++(之拷贝、赋值函数)
转自:http://blog.csdn.net/feixiaoxing/article/details/6772964 拷贝构造函数和复制函数是类里面比较重要的两个函数。两者有什么区别呢?其实也很简单,我们可以举个例子,加入有这样一个类的定义:view plainclass apple { public: ap转载 2011-11-23 23:36:54 · 421 阅读 · 0 评论 -
用汇编的眼光看C++(之虚函数)
转自: http://blog.csdn.net/feixiaoxing/article/details/6779279虚函数是面向对象设计中的一个重要内容。它的出现使得我们只需要相同的接口函数,并可以得到不同的生成结果。但是有些朋友却知其然,不知其所以然,为什么会出现这样的结果,我们可以用一段代码说明问题。首先,我们先定义两个基本类型,一个是employee,一个是manager,看过前转载 2011-11-24 00:45:12 · 566 阅读 · 0 评论 -
调试器工作原理之二——实现断点
转自:http://blog.jobbole.com/23632/本文是关于调试器工作原理探究系列的第二篇。在开始阅读本文前,请先确保你已经读过本系列的第一篇(基础篇)。本文的主要内容这里我将说明调试器中的断点机制是如何实现的。断点机制是调试器的两大主要支柱之一 ——另一个是在被调试进程的内存空间中查看变量的值。我们已经在第一篇文章中稍微涉及到了一些监视被调试进程的知识,但转载 2013-01-02 00:14:15 · 6255 阅读 · 0 评论