摘要: JAVA是以补码处理数据。反码是将个位数字取反,补码是反码+1; 位运算左移操作相当于乘2的n次方。向右移是除以2的n次方。 按位取反运算符:~。 计算器存储一个数的方式,首先保留符号位,如果符号位为1,则将其转换成反码,然后加1转换成补码。 按位亦或^运算符相同取0,不同取1。可以用于交换变量。 阅读全文
posted @ 2017-04-17 10:54 冥地魔王 阅读(205) 评论(0) 推荐(0)
摘要: 选择这个东西,对我来说,多一个选择,就多一种声音,而我并不讨厌那种声音,但确实会令我困惑。 没有办完手续,总有回去的可能,真正的办完手续,回不去了,才有一种真正走在路上的感觉。彻底地跟单位没有关系了。 没有退路的时候,好像是被迫只能选择这条路走到黑,但是身心感觉到的是一种前所未有的自由。 所以啊,既 阅读全文
posted @ 2017-04-14 22:46 冥地魔王 阅读(156) 评论(0) 推荐(0)
摘要: mmap/unmap,与brk,sbrk的区别,后二者均可分配与释放内存,前两者,mmap进行分配内存,unmap进行释放内存 void *mmap(void *addr,//映射的虚拟内存地址 如果是0则由系统制定开始位置 size_t length,//映射空间大小 pagesize的倍数 in 阅读全文
posted @ 2017-04-07 16:57 冥地魔王 阅读(133) 评论(0) 推荐(0)
摘要: 虚拟函数表:存在继承关系的类,会生成一个虚拟函数表。虚拟函数表中存放着成员函数的指针。子类纯虚函数继承时,在运行过程中会覆盖掉父类函数的虚函数地址。这就称之为多态。 阅读全文
posted @ 2017-04-07 08:59 冥地魔王 阅读(144) 评论(0) 推荐(0)
摘要: 额外i知识点:windows指针:near 16位 far32 huge综合。是历史遗留问题,如何让16位机扩展到链接32位机内存。 虚拟内存:概念 一个内存不能访问另一个程序的地址指向的空间。 一个程序区访问其它程序的内存空间,会导致崩溃。所以,一般都将内存直接交给系统进行管理,由系统分配给不同的 阅读全文
posted @ 2017-04-07 08:57 冥地魔王 阅读(117) 评论(0) 推荐(0)
摘要: __stdcall:函数调用结束后由被调用函数清除栈内数据。 __cdecl:函数调用结束后由函数调用者清除栈内数据。 __fastcall:函数调用结束后由被调用函数清除栈内数据。 阅读全文
posted @ 2017-04-07 00:57 冥地魔王 阅读(566) 评论(0) 推荐(0)
摘要: 程序的内存分为四个部分: 代码区 全局栈 堆 局部栈 代码区存放执行代码,以及一些全局常量,宏定义等内容。 全局栈存放着全局静态变量。 局部静态变量存放在局部栈中。 malloc,new等对象存放在堆当中。 堆的本质上是一种连表结构,里面存放着分配的空间,下一个分配空间的地址,上一个分配空间的地址, 阅读全文
posted @ 2017-04-06 23:30 冥地魔王 阅读(367) 评论(0) 推荐(0)
摘要: 模板属于一种参数化的多态。类型也可以当做一种参数来传递。为不同的类型参数提供代码共享机制。 模板包括函数模板,类模板。 函数模板应实例化出模板函数才能被使用。 template<typename T>const T& maxvalue(const T &a, const T &b){ return 阅读全文
posted @ 2017-04-06 18:05 冥地魔王 阅读(113) 评论(0) 推荐(0)
摘要: shell就是可以调用应用程序的命令,利用应用程序与操作系统内核进行通信,最后引导硬件工作的东西。bash是shell的一个版本,全称:Bourne Again SHell 学习了Linux中变量相关的知识。子进程在没有export命令的情况下,不能继承父进程的自定义变量,同样父进程也不能获得子进程 阅读全文
posted @ 2017-04-06 16:40 冥地魔王 阅读(128) 评论(0) 推荐(0)
摘要: 恢复内容开始 实际上是将信息写入文档,以及从文档中读取数据的操作。 string的sizeof是一定的,如果向得到一个string真实的大小应该使用string.length()这个函数。在做二进制输出时,应使用string.date()这个函数。即ofstream.write(string.dat 阅读全文
posted @ 2017-04-05 20:41 冥地魔王 阅读(122) 评论(0) 推荐(0)