- 博客(20)
- 收藏
- 关注
原创 同步、异步、阻塞、非阻塞理解
一、同步~异步~阻塞~非阻塞 同步(Synchronous)和异步(Asynchronous)的概念本来来自通信领域:首先是通信的同步,主要是指客户端在发送请求后,必须得在服务端有回应后才发送下一个请求,所以这个时候的所有请求将会在服务端得到同步;其次是通信的异步,指客户端在发送请求后,不必等待服务端的回应就可以发送下一个请求,这样对于所有的请求动作来说将会在服务端得到异步,这条请求
2015-12-03 17:32:53 383
原创 自创 win7清除桌面快捷键小箭头 批处理
1、在桌面创建一个txt文本,并重命名和修改后缀为ClearArrow.bat;2、右键ClearArrow.bat,编辑打开;3、输入一下文本:reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Icons" /v 29 /d "%systemroot%\system
2015-08-07 15:52:48 1215
转载 GDB调试7
改变程序的执行——————— 一旦使用GDB挂上被调试程序,当程序运行起来后,你可以根据自己的调试思路来动态地在GDB中更改当前被调试程序的运行线路或是其变量的值,这个强大的功能能够让你更好的调试你的程序,比如,你可以在程序的一次运行中走遍程序的所有分支。 一、修改变量值 修改被调试程序运行时的变量值,在GDB中很容易实现,使用GDB的print命
2013-07-19 14:38:07 401
转载 GDB调试6
七、设置显示选项 GDB中关于显示的选项比较多,这里我只例举大多数常用的选项。 set print address set print address on 打开地址输出,当程序显示函数信息时,GDB会显出函数的参数地址。系统默认为打开的,如: (gdb) f #0 set_quotes
2013-07-19 14:36:37 402
转载 GDB调试1
GDB概述————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一般来说,GDB主要帮忙你完成下面四个方面的功能: 1、启动你的程序,可以按照你的自
2013-07-19 14:33:53 419
转载 GDB调试5
查看运行时数据——————— 在你调试程序时,当程序被停住时,你可以使用print命令(简写命令为p),或是同义命令inspect来查看当前程序的运行数据。print命令的格式是: print print / 是表达式,是你所调试的程序的语言的表达式(GDB可以调试多种编程语言),是输出的格式,比如,如果要把表达式按1
2013-07-19 14:32:26 397
转载 GDB调试2
GDB的命令概貌———————启动gdb后,就你被带入gdb的调试环境中,就可以使用gdb的命令开始调试程序了,gdb的命令可以使用help命令来查看,如下所示: /home/hchen> gdb GNU gdb 5.1.1 Copyright 2002 Free Software Foundation, Inc. GDB is free softw
2013-07-19 14:24:15 395
转载 GDB调试3
四、维护停止点上面说了如何设置程序的停止点,GDB中的停止点也就是上述的三类。在GDB中,如果你觉得已定义好的停止点没有用了,你可以使用delete、clear、disable、enable这几个命令来进行维护。 clear 清除所有的已定义的停止点。 clear clear 清除所有设置在函数上的停止点。 cle
2013-07-19 14:22:34 371
原创 C++关联容器
概述 关联容器(Associative Container)与顺序容器(Sequential Container)的本质区别在于:关联容器是通过键(key)存储和读取元素的,而顺序容器则通过元素在容器中的位置顺序存储和访问元素。 关联容器支持通过键来高效地查找和读取元素,两个基本的关联容器是map和set。map的元素是“键-值”对的二元组形式:键用作元素在map中的索
2013-07-12 15:48:32 460
原创 C++中vector用法总结
C++内置的数组支持容器的机制,但是它不支持容器抽象的语义。要解决此问题我们自己实现这样的类。在标准C++中,用容器向量(vector)实现。容器向量也是一个类模板。标准库vector类型使用需要的头文件:#include 。vector 是一个类模板。不是一种数据类型,vector是一种数据类型。Vector的存储空间是连续的,list不是连续存储的。一、 定义和初始化vector
2013-07-12 14:05:42 454
原创 C/C++语言中malloc/free和new/delete的区别
free对应的是malloc;delete对应的是new;free用来释放malloc出来动态内存,delete用来释放new出来的动态内存空间。应用的区别为:1. 数组的时候int *p=(int*)malloc(10*sizeof(int)) 释放的时候 free(p)即可;这是因为编译器对malloc做了一些特殊的处理,以保证可以正确释放内存。而当int *p=new int
2013-07-11 19:32:04 495
原创 关键字static和const的作用分析
static 关键字至少有下列 n 个作用:(1)函数体内 static 变量的作用范围为该函数体,不同于 auto 变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值; (2)在模块内的 static 全局变量可以被模块内所用函数访问,但不能被模块外其它函数访问; (3)在模块内的 static 函数只可被这一模块内的其它函数调用,这个函数的使用范围被限制在声
2013-03-22 00:40:04 494
原创 进程与线程的区别
简而言之,一个程序至少有一个进程,一个进程至少有一个线程. 线程的划分尺度小于进程,使得多线程程序的并发性高。另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。从逻
2013-03-22 00:24:56 411
原创 HTTP中GET和POST的区别
Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。 1.根
2013-03-22 00:23:29 400
原创 C语言中static关键字作用
static------关键字在C语言中的三个作用:1、修饰全局变量(静态全局变量)变量存储地址:在内存的静态区;作用域:仅限域变量被定义的文件中所有函数可访问,其他文件即使用extern声明也没办法使用这个变量。准确的说,是从定义处开始,到文件结尾处结束,在定义处之前的那些代码行也不能使用这个变量。要想使用的话就得在前面加上extern(一般直接在文件顶端定义即可)。
2013-03-17 00:49:38 522
原创 ubuntu 下vim编辑器的安装和配置
vim编辑器安装与配置1)安装: 在shell终端输入#apt-get install vim2)配置vim编辑器: 修改配置文件vimrc 输入#vi /etc/vim/vimrc 修改如下:set mouse=a 使能鼠标和滚轮 set number 或 set nu
2013-03-09 01:13:07 732
原创 win7和Ubuntu 双系统硬盘安装图文教程
一 、准备工作1、从官网下载镜像文件,;下载EasyBCD最新版,EasyBCD是一款很优秀的系统引导软件,功能强大,最关键的是傻瓜式一站式简易操作,极其适合新手使用2、腾出一个盘,格式化3 启动EasyBCD:按上图的序号点击,点到3后出面下面的界面:点击上图红框中的按钮,会打开一个用记事本打开一个文件,将如下代码粘贴到文件尾部:title
2013-03-06 13:27:48 822
转载 win7和Ubuntu 双系统卸载图文教程
在winxp和linux双系统下卸载Ubuntu,很多童靴会采用在windows系统中将linux分区直接格式化删除的方法,认为这能卸载掉Ubuntu linux系统。但是不幸的是将linux分区删除重启电脑会出现grub>这个符号,然后就无法进入windows或linux任何一个系统了。这是因为Ubuntu linux 安装过程中,grub引导程序默认是安装在linux boot分区的主引导分区
2013-03-06 13:24:24 668
原创 VMware 下Ubuntu 安装Vmware Tools后hgfs无法显示共享文件的解决办法
已经安装好了Vmware Tools工具后在VMware Workstation程序菜单中虚拟机-->设置-->选项-->共享文件夹,设置共享目录。在Ubuntu的mnt/hgfs目录下即可看到设定的共享文件夹;若/mnt/hgfs目录下看不到共享的文件,则执行下列两条命令:(1)sudo apt-get install open-vm-dkms(2)sudo mount -t vmhgf
2013-01-26 13:04:57 499
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人