- 博客(21)
- 资源 (7)
- 收藏
- 关注
原创 linux下使用gdb调试崩溃和死锁实例
gdb是linux下一款功能强大的调试工具,windows下对应的有windbg,下面举例说明常见程序错误解决方法1.gdb启动要想使用gdb调试,编译时指定-g选项加入调试信息,gdb可以启动执行文件,attach正在运行程序,调试程序崩溃产生core文件启动gdb后输入run运行,continue继续,quiet退出,下面是调试一段崩溃和死锁的源码#include #inc
2017-05-30 20:51:30 11754
原创 解决ubuntu apt-get install出现E:Clould not get lock /var/lib/dpkg/lock
在vmware下ubuntu安装svn出现如下错误出现这个问题可能是有另外一个程序正在运行,导致资源被锁不可用,可能是上次运行安装或更新时没有正常完成解决办法是使用rm命令删除安装缓存和lib下dpkg目录
2017-05-30 00:43:33 1045
原创 解决ubuntu下vi上下左右方向键出现字母,backspace键不能删除字符
在vmware虚拟机中安装ubuntu下使用vi编辑文件,发现上下左右方向键不能在文本中移动,出现ABCD字符,backspace也不能删除字符,解决方法有几种方法1:将vimrc档案拷贝到home目录cp /etc/vim/vimrc ~/.vimrc 方法2:卸载vim-tiny,安装vim-full ubuntu默认安装装的是vim tiny版本,而需要的是vim f
2017-05-30 00:25:18 14418
原创 解决安装完ubuntu登陆无root账户问题
安装完成ubuntu后登陆框没有root用户,因为默认刚安装的ubuntu是禁用root用户的,通过以下方式启用root用户1.打开配置文件输入sudo gedit /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf后提示输入密码,输入安装时设置的密码2.添加启用root在打开的配置文件下面加一行 greeter-show-manual
2017-05-28 15:56:28 2013
原创 解决ubuntu无法修改分辨率为1920*1080问题
1.查看显卡信息2.查看分辨率使用Virtual1为正在使用显示器名称,800x600 60.00打*号为正在使用分辨率2.生成分辨率模式生成1920x1080分辨率模式,后面添加这种模式4.添加分辨率模式第一行命令为添加分辨率模式5.设置分辨率模式第二行命令为设置分辨率模式
2017-05-28 15:44:19 25567 5
原创 poll模型详解
1.poll模型原理poll模型是基于select最大文件描述符限制提出的,跟select一样,只是将select使用的三个基于位的文件描述符改为使用一个数组的形式,对于各种可能的事件进行了一个包装#include int poll (struct pollfd *fds, unsigned int nfds, int timeout);参数说明:第一个参数f
2017-05-21 20:24:08 3186
原创 epoll模型详解
1.epoll模型原理epoll是在2.6内核中提出的,是之前的select和poll的增强版本。相对于select和poll来说,epoll更加灵活,没有描述符限制。epoll使用一个文件描述符管理多个描述符,将用户关系的文件描述符的事件存放到内核的一个事件表中,这样在用户空间和内核空间的copy只需一次,epoll文件描述符使用红黑树管理,搜索高效。1.int epoll_crea
2017-05-21 18:35:14 750
原创 select模型详解
1.select模型原理使用select函数检查文件描述符上是否有io事件发生,包括可读,可写以及异常 select参数和返回值意义如下:int select ( IN int nfds, //0,无意义 IN OUT fd_set* readfds, //检查可读性 IN OUT fd_set* write
2017-05-21 16:42:04 2672
原创 linux常用命令总结
1.文件目录1.1 cat功能:查看文件内容实例:cat /etc/profile cat /proc/meminfo cat /proc/sys/net/core/wmem_default1.2 chmod功能:修改文件或目录权限实例:chmod 777 * ,chmod 777 file1.3 cp功能
2017-05-17 02:15:54 390
转载 c++常见面试题30道
转自:http://blog.csdn.net/shihui512/article/details/9092439;1.new、delete、malloc、free关系delete会调用对象的析构函数,和new对应free只会释放内存,new调用构造函数。malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放
2017-05-10 16:31:44 368
转载 关于整型数据符号位扩展的问题
关于符号扩展的问题,我们大家读到最多的一句关于符号扩展规律就是“对于无符号整型数据,要扩展成符号位的话,就是将扩展位补零,其他位保持不变。但对于有符号整型数据的符号扩展规律就是:原来符号位为1时,符号扩展位补1;原来符号位为0时,符号扩展位补0;其他位保持不变。”刚开始自己也不太明白为什么会这样扩展,只是记住了这个规律,后来认真考虑了一下,才明白这里的缘由。 个人认为这个符号扩展的规
2017-05-10 15:48:50 990
转载 如何在O(1)的时间里删除单链表的结点
题目是这样的:给你一个单链表的表头,再给你其中某个结点的指针,要你删除这个结点,条件是你的程序必须在O(1)的时间内完成删除。由于有的同学对链表还不是很熟悉,本文尽量描述的通俗易懂,老鸟请直接跳过前面一大段。链表结构如下:struct node{ int val; node* next;};题目不是很难,很快就能想到好办法:)首先回顾一下普通的删除方法,
2017-05-10 01:33:51 403
转载 基于双向链表的增删改查和排序(C++实现)
双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。由于双向链表可以方便地实现正序和逆序两个方向的插入、查找等功能,在很多算法中经常被使用,这里用C++构造了一个双向链表,提供了对双向链表的插入、查找、删除节点、排序等功能,其中排序提供了插入
2017-05-10 01:18:58 1305
转载 windows平台一个高性能、通用型的C++生产者/消费者架构模板
/*生产者/消费者通用模板特点:高性能:采用多线程,多队列平衡的信号量等待模型,有效减少锁等待可调节:可以根据实际应用环境调整队列数,最多可支持64个队列使用简单,一个构造函数,一个生产函数,一个消费函数。*/#ifndef PANDC_H#define PANDC_H #include #include #include #include using name
2017-05-10 01:13:33 426
原创 c++实现单链表创建,删除,遍历,插入,修改操作
#include #include #include using namespace std; struct Node { int data; struct Node* next; }; struct Node* build_list(int n) { Node *head =(struct Node*)malloc
2017-05-09 18:23:19 1687
转载 c++实现二分查找
二分查找又称折半查找,对排好序的数组,每次取这个数和数组中间的数进行比较,复杂度是O(logn)设数组为a[n],查找的数x,如果x==a[n/2],则返回n/2;如果x 如果x > a[n/2],则在a[n/2+1]到a[n-1]中进行查找;优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。条件:查找的数组必须要为有
2017-05-09 15:49:54 1547
转载 C/C++求职者必备的20道面试题
面试题有难有易,不能因为容易,我们就轻视,更不能因为难,我们就放弃。我们面对高薪就业的态度永远不变,那就是坚持、坚持、再坚持。出现问题,找原因;遇到困难,想办法。我们一直坚信只有在坚持中才能看到希望,而不是看到希望才去坚持。人生没有如果,只有结果和后果。既然选择了,就不后悔。年轻就是资本,年轻就要吃苦,就要历练。就要学会在坚持中成长。如此感慨,至深的心得体会,绝对的经验之谈。OK,进入正题
2017-05-07 17:33:26 2339
转载 12个有趣的C语言面试题及答案
12个C语言面试题,涉及指针、进程、运算、结构体、函数、内存,看看你能做出几个!1.gets()函数问:请找出下面代码里的问题:#include int main(void) { char buff[10]; memset(buff,0,sizeof(buff)); gets(buff); printf("\n The buffer en
2017-05-07 17:19:30 975
原创 C/C++快速排序
//左边,中间未处理,右边int oneSort(int a[],int left,int right){ //i,j为两个指针,一个从左向右移动,一个从右向左移动 int i=left; int j=right; int key=a[left]; //把第一个数当轴值 while(i<j)//每次循环处理左右两个子区间,并完成左右区间第一个不满足值的位置交换 { whil
2017-05-07 17:12:41 350
原创 谈谈tcp/ip协议
对于这个问题我想分3点来谈tcp/ip协议,网络接口api,常见问题和处理方法说到tcp/ip协议就不得不说tcp建立连接的3次握手和断开连接的4次握手以及tcp状态转换图客户端发送一个syn带初始序号M请求建立连接并且状态由close转换为syn_send,此时客户端为半连接;服务端收到回复一个syn+ack,其中syn初始序号为N,ack确认序号为M+1;并且状态由close转换为sy
2017-05-06 23:24:51 975
原创 谈谈设计模式
大家都知道,设计模式分3类23种,创建型5种,结构型7种,行为型11种。创建型,字面意思就是用于创建对象的,我们只要创建一个全局共享的对象,比如对模块接口的封装,那么就用单例模式;我们要创建很多个对象,就用工厂方法,一个具体的工厂接口创建对象;我们要创建一组相关的对象,就用抽象工厂,将创建各种对象的工厂抽象出来;我们要通过一个原型创建对象,并拷贝原型中的内容到新创建的对象中呢,那就用原型模式;
2017-05-06 16:42:55 637
android sdk 模拟器 懒人版-part3
2014-12-31
vc编程pppoe-discovery
2012-09-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人