程序人生
爱喝茶的程序猫
软件学菜鸟,好好地做下去
展开
-
32位x86体系linux虚拟地址空间
每个程序被运行起来以后,它将拥有自己独立的虚拟地址空间(Virtual Address Space),这个虚拟地址空间的大小由计算机的硬件平台而决定,具体由CPU的位数决定。硬件决定了地址空间的最大理论上限,即硬件的寻址空间的大小,例如,32位x86体系linux虚拟地址空间是4GB的虚拟空间大小,地址范围是0~2^32-1,即0x00000000~0xFFFFFFFF。0X00000原创 2017-10-12 00:02:38 · 1399 阅读 · 0 评论 -
虚拟存储器
虚拟存储器引入一个系统中的进程是与其他进程共享CPU和主存资源的。但是如果有很多进程都需要访问主存,那就很危险了,如果一个进程将自己的数据写进别的进程的逻辑中去了,那么两个进程都挂掉了,你自己出错了,别拉上别的进程垫背啊。当存储器没有空间了,却有进程要访问内存,那只能等待了,谁又能记录有进程等待的信息呢,万一内存有空间了,这个进程还没有动手,就被别的进程捷足先登了,那这个进程永远也不会原创 2018-02-02 17:50:01 · 223 阅读 · 0 评论 -
字符编码之ASCII、UTF-8、UTF-16的区别
ASCII编码根据百度百科整理的^_^在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0),例如,像a、b、c、d这样的52个字母(包括大写)、以及0、1等数字还有一些常用的符号(例如*、#、@等)在计算机中存储时也要使用二进制数来表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通...原创 2018-02-10 12:02:56 · 2700 阅读 · 0 评论 -
switch和if_else语句
switch和if …else语句都可以实现条件编译,根据不同的条件进行不一样的操作。switch在使用上,switch的case语句中必须使用常量,并且在连续的case语句中,各个case的常量值必须是连续的,这在下面的汇编实现上有很大的意义。 在汇编实现上,switch采用的是跳转表实现的,跳转表本身是一个静态表,而这个表的长度不是根据case语句多少决定的,而是根据case中常量的...原创 2018-02-10 15:06:48 · 597 阅读 · 0 评论 -
排序---排序算法1
冒泡排序思想所谓冒泡排序就是,一组数据,以递增的顺序来说明,从第一个数data[0]开始,依次和后面的数据比较大小,如果data[0]大于当前位置上的数就和这个数交换位置并继续和后面的数相比,如果遇到比自己大的数了,就不交换;下一次开始的位置是data[1],然后依次往后推。基础代码void myswap(int &num1,int &num2){ int n原创 2018-02-07 14:30:43 · 282 阅读 · 0 评论