- 博客(56)
- 资源 (9)
- 收藏
- 关注
转载 一个程序演示所有的shell编程知识
#!/bin/sh -x#由反引号括起来的也是一条命令,Shell先执行该命令,然后将输出结果立刻代换到当前命令行中。例如定义一个变量存放date命令的输出:echo `date`#命令代换也可以用$()表示:echo $(date)#如果一个变量叫做VARNAME,用${VARNAME}可以表示它的值,在不引起歧义的情况下也可以用$VARNAME表示它的值。通过以下例子比较这两种表示
2013-11-18 15:40:49
482
原创 cout<<endl 本质解析
C++中的cout但是coutC++中,有一种对象叫操控器(manipulators),操控器是专门用来操控stream的对象,常常只会改变输入或格式化输出的解释方式,在C++标准中,已经预定义好几种操控器,常见的有: flush 刷新output缓冲区,将内容写入输出设备 endl 向缓冲区插入换行符号并刷新,将内容写入输出设备 ends 向缓冲
2013-11-09 15:36:20
6550
原创 关于operator void*()和bool operator !()的一点理解
C++中有特殊的两个操作符可以重载,分别是void* 和 ! 先上代码:class A{public:};int main(){ A a; if(a) cout<<"c"; system("PAUSE");} 这种情况下,编译不通过,提示不能将对象a直接转化为bool型。 改进(
2013-11-09 11:19:06
2510
原创 while(cin)和while(!cin)的原理分析
今天看书的时候看到代码while(cin>>val),忽然就在想这样写的合法性是如何判定的。我们都知道cin是一个流对象,而>>运算符返回左边的流对象,也就是说cin>>val返回cin,于是while(cin>>val)就变成了while(cin),问题就变成了一个流对象在判断语句中的合法性。 不管是while(cin)还是if(cin),都是合法的,为什么呢?我们自己定义一
2013-11-09 09:57:58
3279
原创 eclipse 4.2问题集锦
最近使用装了genymotion来做为安卓的虚拟机,由于genymotion需要3.8以上的eclipse,所以直接升级了eclipse到最新版juno,使用中发现eclipse的UI表现真是糟糕,尤其是在xml文件切换时,经常出现卡顿现象。由于不想降级到3.8,另外网上还有一些其他的补丁,只是似乎那个补丁已经被撤掉了。最后找到一种方法,就是替换eclipse的内嵌xml编辑器,方法如下:
2013-10-29 17:52:22
631
原创 关于istream_iterator<int>(cin)和istream_iterator<int>()的一点分析
最近在看STL,其中讲到容器这一部分的时候,有以下两个式子,有点疑惑:deque c(istream_iterator(cin), istream_iterator()); (1) //函数声明deque c((istream_iterator(cin)), (istream_iterator())); (2) //定义一个容器式子原本的含义都是要定义一个容器,容器的内容从
2013-10-26 12:47:07
1275
转载 Android模拟器环境下SD卡内容的管理【转】
本文旨在介绍一些Android模拟器下如何对SD卡内容进行管理的基本命令,同时也给大家推荐一个比较实用的工具。笔者所用的环境:Windows 7 + Android SDK 2.21. 创建SD卡并挂载到模拟器运行cmd,并cd至android-sdk\tools\目录下。输入如下命令则可创建并挂载SD卡到模拟器上。mksdcard的参数中SD卡的大小单位可以为K或者M(必
2013-10-19 10:15:11
93
原创 tcp协议栈的定时器有哪些
TCP/IP协议,或称为TCP/IP协议栈,或互联网协议系列,在内核中tcp协议栈有七个类型的定时器。七个定时器1连接建立(connection establishment)”定时器在发送SYN报文段建立一条新连接时启动。如果在75秒内没有收到响应,连接建立将中止。2“重传(retransmission
2013-09-20 21:08:42
715
转载 三种快速排序以及快速排序的优化
转自:http://blog.youkuaiyun.com/insistgogo/article/details/77850381、快速排序的基本思想: 快速排序使用分治的思想,通过一趟排序将待排序列分割成两部分,其中一部分记录的关键字均比另一部分记录的关键字小。之后分别对这两部分记录继续进行排序,以达到整个序列有序的目的。2、快速排序的三个步骤:(1)选择基准:在待排序列
2013-08-19 22:08:55
8210
原创 ubuntu启动时profile bash等文件的执行顺序
1、启动时,执行: /etc/profile ------> /etc/profile.d/ 中的每个文件 ------> /etc/bash.bashrc2、登录时,执行: ~/.profile (如果~/.bash_profile 或者 ~/.bash_login 文件存在,则不执行~/.profile 文件) -----> ~/.bashrc
2013-08-10 16:50:31
752
转载 正向代理和反向代理相关概念
一直对反射代理的反向不知道如何理解,经过百度知道,再结合下面这幅图,总算弄清楚一点了。简单的说从一个局域网出来到服务端为正向,从客户端要进入一个局域网为反向概念: 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务
2013-08-07 21:49:15
471
转载 正向服务器和反向服务器gai'nian
一直对反射代理的反向不知道如何理解,经过百度知道,再结合下面这幅图,总算弄清楚一点了。简单的说从一个局域网出来到服务端为正向,从客户端要进入一个局域网为反向概念: 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务
2013-08-07 21:47:46
295
原创 NAT方式下用putty连接vbox虚拟机
因为经常要在校园网和校园无线网下切换,分配的ip不一样,导致原先在vbox中的虚拟机静态分配的地址必定在一个环境下无法用putty连接。后来想到是否能用NAT的方式来用putty进行连接,这样既能共享宿主机的网络,又能用putty连接,答案是肯定的。步骤如下:1、vbox选择NAT方式;2、虚拟机ip选择dhcp动态分配: vi /etc/network/interf
2013-08-06 19:42:11
1912
原创 求最大连续子数组的和
一个整型数组,数组里有正数也有负数。 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和,求所有子数组的和的最大值,要求时间复杂度为O(n)。 例如输入的数组为1,-2,3,10,-4,7,2,-5,那么最大的子数组为3,10,-4,7,2,因此输出为该子数组的和18。原先自己实现了一个很复杂的程序,思路虽然也是分段处理,之中用到了几个变量,处理起来感觉很难受。昨晚在《编程
2013-06-06 11:24:26
1663
原创 冒泡排序、快速排序
#include #include using namespace std;/*buble search*/int bubleSort(int Array[], int n){ if(Array == NULL) return -1; for(int i=0; i<n-1; i++) { for(int j=i; j<n; j+
2013-05-25 20:24:59
435
原创 二分查找
#include #include using namespace std;int binary_search(int Array[], int n, int value){ int *pStart = Array; int *pEnd = Array+n-1; if(Array == NULL) return -1; while(pSt
2013-05-25 20:18:31
408
原创 走迷宫
#ifndef __MAZE_H__#define __MAZE_H__#include #include #include #include #include /*=========================*/void printMaze();/*=========================*/enum{MAZE_ROW = 20, MAZE_COL = 2
2013-05-25 20:15:15
455
原创 有序数组合并
假设sz1和sz2是有序数组,同时sz1有足够的空间容纳sz2,要实现sz1和sz2的合并,不允许开辟新的数组空间,同时要求时间复杂度为O(n),空间复杂度为O(1).同样采用尾指针的方法:#include #include using namespace std;void paixu(int sz1[], int len_sz1, int sz2[], int len_
2013-05-25 19:59:33
483
原创 实现一个singleton
#include #include using namespace std;template class singleton{public: static T* GetInstance() { if(pInstance == NULL) /*check the first time*/ {
2013-05-25 19:54:45
422
原创 替换字符串中的所有空格
要替换一个字符串中的所有空格,一种想法是开辟一个新的字符数组,然后对字符串进行遍历,若遇到普通字符,则将字符拷贝到新数组中,若遇到空格,则直接跳过或进行替换。这种方法需要使用额外的空间。如果已知原字符串中有足够的空间容纳替换,且不允许使用额外的数组空间,则可以先遍历一遍字符串,统计空格总数,由此可以计算出替换后的字符串新长度,然后用一个指针指向新的字符串尾部,然后从尾部拷贝字符串,若遇到空格,
2013-05-25 19:47:01
2303
原创 重建二叉树
对于一颗二叉树,可以根据先序遍历(后序遍历)和中序遍历重新还原出二叉树。根据先序遍历和中序遍历还原二叉树的主要思想:1、先序遍历序列的第一个元素必定是根节点,可以由此获取二叉树的根节点。2、根据根节点,在中序遍历序列中查找该节点,由中序遍历的性质可知,中序遍历中该根节点左边的序列必定在根节点的左子树中,而根节点右边的序列必定在右子树中。由此可以知道先序遍历中左子树以及右子树的起止位置。
2013-05-25 19:37:29
3845
原创 字符串按特定分隔符反转
阿里巴巴的实习生笔试题,实现将字符串按特定分隔符进行反转,如“www.taobao.com”,反转后为"com.taobao.www",要求时间复杂度为O(n),空间复杂度为O(1).解题思想:用两个指针记录分隔符之间的子字符串,然后先将子字符串进行反转,逐段全部反转后,再将整个字符串进行一次反转。#include #include using namespace std;
2013-05-25 19:24:39
1298
原创 关于qt creator 调试出现Cannot read creator env file /tmp/QtCreator.**** No such file or directory的问题
ubuntu10.04安装了最新的qt5.0.2,调试中发现xterm界面有时出现了 Cannot read creator env file /tmp/QtCreator.**** No such file or directory 的错误,致使调试无法进行,同时该问题出现的概率挺大,接近80%。上网google了一番,很少有人提及这个问题。 最后在国外一个网站,发现有人回复说是Q
2013-05-15 16:20:20
1865
转载 ubuntu 10.04 安装qt 5.0.2
从qt project网站下载下来最新的qt5.0.2套件,发现是个.run文件,添加x属性,然后直接sudo ./****.run,提示 /lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found ,看了一下,自己的/usr/lib/下面的libstdc++.so.6版本是GLIBCXX_3.4.13,即是要替换libstdc++
2013-05-08 22:48:00
2775
原创 jeos8.04修改终端字符颜色
jeos默认的字符是白色的,同时ls显示的蓝色文件夹在黑色背景上很难看清,折腾了一下,对其进行了修改。1、修改提示符颜色。提示符的颜色以及格式设置在~/.bashrc中,通过PS1变量进行修改。PS1变量的格式为 PS1=颜色+字符或序列+颜色+字符或序列...... 颜色的格式为 颜色=\033[代码;前景;背景m 默认的PS1为 PS1="\
2013-05-05 14:05:10
468
原创 判断一个数是有符号数还是无符号数
1、判断一个数是否是无符号数#define ISUNSIGNED(a) (a>=0 && ~a>=0)解析:(1)如果一个数小于0,则它是有符号数; (2)如果一个数大于0,则对它按位取反(包括符号位),若仍大于0,则为无符号数,否则为有符号数。2、判断一个类型是否是无符号类型#define ISUNSIGNED(type) ((type)0 - 1 >0)解
2013-04-19 09:20:37
761
原创 判断一个变量是无符号数还是有符号数
1、判断一个数是否是无符号数#define ISUNSIGNED(a) (a>=0 && ~a>=0)解析:(1)如果一个数小于0,则它是有符号数; (2)如果一个数大于0,则对它按位取反(包括符号位),若仍大于0,则为无符号数,否则为有符号数。2、判断一个类型是否是无符号类型#define ISUNSIGNED(type) ((type)0 - 1 >0)解
2013-04-19 09:07:44
497
2
转载 库函数调用和系统调用的区别
Linux下对文件操作有两种方式:系统调用(system call)和库函数调用(Library functions)。可以参考《Linux程序设计》(英文原版为《Beginning Linux Programming》,作者是Neil Matthew和Richard Stones)第三章: Working with files。系统调用实际上就是指最底层的一个调用,在linux程序设计里面就是底
2013-04-19 08:58:01
464
原创 VI 操作备忘
1、复制黏贴一行 (1)yy (2)p2、全部复制 (1gg (2)y (3)G3、复制某几行 yny4、删除光标行 dd5、全部删除 dG6、翻到文档末尾 G7、翻到文档开头 1G8、向下翻页 ctrl f 向上翻页 ctrl b 向下翻半屏
2013-04-04 09:08:36
378
转载 error while loading shared libraries的解決方法
./tests: error while loading shared libraries: xxx.so.0:cannot open shared object file: No such file or directory那就表示系統不知道xxx.so 放在哪個目錄下。這個時候就要在/etc/ld.so.conf中加入xxx.so所在的目錄。 一般而言,有很多so檔
2013-03-20 15:15:08
362
转载 模板函数的定义和声明须在同一文件内
按照C++中代码的惯例,类声明在h文件中,类定义在cpp文件中,相应的成员函数声明也在h文件中,定义在cpp文件中。但是如果这样的架构用在模板函数中,在调用模板函数的地方链接器便会报错,error LNK2001: unresolved external symbol。将定义写在与声明相同的文件中问题解决,解释如下: “大部分编译器在编译模板时都使用包含模式。也就是一般使用的把模板
2013-03-05 15:45:09
441
转载 NFS设置
宿主机nfs配置 ubuntu中默认是没有安装nfs的,安装非常简单,联网情况下运行apt-get install nfs-kernel-server如果安装不成功在试试安装nfs-common和portmap,我是装这一个就可以了。接下来需要编辑一下配置文件:修改/etc/exports,在末尾添加:/armnfs *(rw,sync,no_ro
2013-02-24 16:37:56
608
原创 使用dvd iso做ubuntu的本地源
事情是这样的,我学校里面需要使用H3C inode客户端认证上网,我在一台机器上装了ubuntu10.04 server,因为没有帐号上网,所以想到使用笔记本上的ubuntu dvd ISO做本地源(本地源在局域网的一台笔记本上)。开始想的很简单,网上也有一大堆,但是实践起来发现问题重重,估计网上很多人也是mark一下,很少自己去实践一下。。下面说说我自己的实践方式,个人实验通过。1、首先
2013-02-24 09:37:59
4084
转载 windows/ubuntu 文件共享之 Samba 配置
很多时候需要在windows上和ubuntu 上共享文件,一直没怎么去找方法,得知Samba 可以实现在windows上访问linux的文件,这样一来要从windows文件放到linux中就方便了,听说它还有更多功能,也可以直接在linux与linux之间共享.先简单开始说一下windows与linux的,下面讲一下详细配置,部分说明来自网络 环境:VirtualBox虚拟机Ubu
2013-02-23 22:54:11
513
原创 VC 中错误集锦备忘(持续添加ing....)
1、error c3872: “0x3000”: 此字符不允许在标识符中使用0x3000是汉语的空格,也就是全角空格,相当于一个汉字,但你又看不见它。你知道的,像逗号,有半角(,)和全角(,)之分的,其实空格也有。0x3000是全角的空格,0x20是半角的空格。你最好把这个语句的后面空白部分,都删除掉,免得有不可见的全角空格。===========================
2012-12-28 10:19:34
307
转载 西电设置utorrent不走ipv4流量
首先找到以下位置C:\Users\用户名\AppData\Roaming\uTorrent(win7)C:\Documents and Settings\用户名\Application Data\uTorrent(XP)(2.0以下版本可放在在安装目录下)步骤:开始-运行 (快捷键WIN+R) 输入%AppData%\uTorrent在弹出的文件夹找到 ipfilter.dat
2012-12-24 20:13:29
1733
原创 Sublime Text 2 安装及使用
最近在使用Sublime Text 2,将一些要点做记录仅备忘。1、安装现在的Sublime安装很简单,找到linux版本后,chmod增加执行权限,然后直接运行sublime_text这个文件就可以了。2、一些技巧摘录摘自:http://lucifr.com/139225/sublime-text-2-tricks-and-tips/换个耐看点些的图标
2012-10-09 00:36:17
4541
转载 Qt webKit可以做什么(四)——实现本地QObject和JavaScript交互
上一篇我们了解了如何在webkit中创建含有web内容的本地应用。这一篇我们将实现JavaScript和本地的QObject的交互。在阅读本篇之前需要对Qt的信号和槽机制和JavaScript有简单的了解。Qt本地对象和JavaScript交互分为三个步骤将本地QObject暴露给webkit和JavaScript将本地QObject的信号和JavaScript的槽连接起来通过
2012-07-05 11:38:28
1078
转载 Qt——web网页和本地对象的交互
有时候可能需要在html网页中调用本地的对象方法。比如说我点击了一个视频文件的链接,希望调用本地的多媒体模块来播放这个视频文件, 如何实现?一、html中的JavaScript调用Qt本地对象方法过程如下:将本地的QObject对象暴露给webkit和JavaScript 通过JavaScript调用本地QObject的槽 下面对每个步骤进行详细的分析:1、将本地的
2012-07-05 11:26:53
2198
原创 qtwebkit调试google maps的交互问题
最近在上位机软件加入一个qtwebkit模块,用于加载google maps(V3)。写好google maps的html文件之后,在chrome和IE中显示均正常,但是一旦用qtwebview加载后只能显示基本的地图,鼠标拖动和滚轮放大等交互操作均无法响应,由于原来的google maps html文件调试正常,所以考虑是qtwebview中默认的浏览器引擎造成的原因。查阅了qtwebvie
2012-07-03 10:19:49
1726
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人