- 博客(39)
- 收藏
- 关注
原创 Debian 7下配置samba和Windows8共享
apt-get install samba 安装sambasmbpasswd -a infly增加共享用的用户infly,按照提示输入密码 vi /etc/samba/smb.conf 编辑配置3.1 去掉security = user前边的注释3.2 增加 [debian]path = /opt/sharevalid users =
2013-12-22 01:02:01 5752
原创 Linux pthread编程之cleaupn_push与cleanup_pop
一般来说,Posix的线程终止有两种情况:正常终止和非正常终止。线程主动调用pthread_exit()或者从线程函数中return都将使线程正常退出,这是可预见的退出方式;非正常终止是线程在其他线程的干预下,或者由于自身运行出错(比如访问非法地址)而退出,这种退出方式是不可预见的。 不论是可预见的线程终止还是异常终止,都会存在资源释放的问题,在不考虑因运行出错而退出的前提下,如何保证线
2013-12-11 00:22:33 1156
原创 telnet发送http请求报文
利用telnet手动发送HTTP请求报文:1.在命令提示符下输入telnet www.baidu.com 802.连接成功后,按下Ctrl+]3.打开本地回显:输入set localecho 后,一定要按两次回车4.发送求情报文后,也要按两次回车。GET /index.php HTTP/1.1Host: www.baidu.com:8088User-Agent: Moz
2013-03-15 10:25:48 10683
原创 winpcap+vc6.0
Winpcap是windows平台下的一个专业Winpcap是一个强大的网络开发库,可以实现许多功能:获取可用的网络适配器;获取指定适配器信息(比如名称和描述信息);捕获指定网卡的数据封包;发送数据封包;过滤捕获的包以获取特定包等。 1. 到官网www.winpcap.org下载安装winpcap,为应用程序的运行做准备,如wireshark就需要先安装此包;
2013-01-11 16:54:28 2187 1
原创 免费精品软件推荐
http://blog.sina.com.cn/xbetahttp://xbeta.info/http://blog.sina.com.cn/s/blog_46dac66f0100003u.html
2012-12-11 12:01:51 623
转载 寻找最好的笔记软件:梦想篇/结论 (v1.0)
版本:1.0 编译:xbeta/善用佳软 出自:http://blog.sina.com.cn/u/46dac66f01000b58 寻找最好的笔记软件:梦想篇/结论 作者:SuperboyAC 编译:xbeta 本系列包括:海选篇、三强篇、梦想篇、结论、篇外 经过20多种笔记软件的海选,深入对比分析了笔记软件三强(EverNote、Mybase、Surful
2012-12-11 11:18:45 1569
转载 寻找最好的笔记软件:三强篇(EverNote、Mybase、Surfulater)
寻找最好的笔记软件:三强篇(EverNote、Mybase、Surfulater) v1.0http://blog.sina.com.cn/s/blog_46dac66f01000b58.html 作者:SuperboyAC 编译:xbeta 本系列还有:海选篇、三强篇、梦想篇、结论、篇外 通过上一篇《寻找最好的笔记软件:海选篇》的综合分析,作者发现有3种软件具有较明显
2012-12-11 10:26:51 1732
转载 寻找最好的笔记软件:海选篇 (v1.0)
序言: 我见过的多数软件爱好者,无论是资深用户,还是初级用户,都有一个梦想:找到最好的笔记软件。xbeta从很早开始也关注这一问题,也曾几度寻找,前后试过了解过的软件接近五十种,但从未在善用佳软大力推荐过任何一种,或系统分享这方面的知识。下面就基于Donation Coder的测评,进行编译,并加入自己的补充。也欢迎其他网友指正,完善本文。 或许它并不能帮你找到“最好的笔记软件
2012-12-11 10:14:03 2146
原创 2013卫士通校园招聘
将十进制整数转换为十六进制字符串1.法一void itohex(int n, char* str){ char tab[] = "0123456789ABCDEF"; char tmp[8]; int i = 0, j = 2; str[0] = '0'; str[1] = 'x'; do { tmp[i++] = tab[n%16]; n
2012-11-01 11:07:18 1579
原创 2013星网锐捷笔试题
啤酒一块钱一瓶,两个空瓶可以换一瓶啤酒,一个人有n元钱,问这个人可以喝到多少瓶啤酒?要求用递归实现。1.非递归int total(int n){ int battl = 0; int empty = 0; while (n > 0) { --n; ++battl; if (++empty == 3) { empty = 0;
2012-10-23 18:38:50 4865 2
转载 联合体union
当多个数据需要共享内存或者多个数据每次只取其一时,可以利用联合体(union)。在C Programming Language 一书中对于联合体是这么描述的: 1)联合体是一个结构; 2)它的所有成员相对于基地址的偏移量都为0; 3)此结构空间要大到足够容纳最"宽"的成员; 4)其对齐方式要适合其中所有的成员;下面解释这四条描述: 由
2012-10-14 19:38:19 589
转载 结构体字节对齐和位域对齐——VC、gcc
(1)什么是字节对齐一个变量占用 n 个字节,则该变量的起始地址必须能够被 n 整除,即: 存放起始地 址 % n = 0,对于结构体而言, 这个 n 取其成员中的数据类型占空间的值最大的那个。(2)为什么要字节对齐内存空间是按照字节来划分的,从理论上说对内存空间的访问可以从任何地址开始,但是在实际上不同架构的 CPU 为了提高访问内存的速度,就规定了对于某些类型的数据只能从特定的起始
2012-10-13 15:34:23 3813
转载 C内存对齐
http://blog.csdn.net/alfredlu/article/details/1878106http://hi.baidu.com/weipatty/item/d46aa0f17a6286d96325d2df一、概念 对齐跟数据在内存中的位置有关。如果一个变量的内存地址正好位于它长度的整数倍,他就被称做自然对齐。比如在32位cpu下,假设一个整型变量的地址
2012-10-09 16:28:28 785
原创 单链表是否有环、是否相交
1、如何判断是否存在环?2、如何知道环的长度?3、如何找出环的连接点在哪里?4、带环链表的长度是多少? 1.判断链表是否存在环: 设置两个指针(fast, slow),初始值都指向头,slow每次前进一步,fast每次前进二步,如果链表存在环,则fast必定先进入环,而slow后进入环,两个指针必定相遇。如果,fast走到尾部为NULL,则为无环链表。bo
2012-09-30 16:54:41 796
原创 单链表反转
struct ListNode{ int key; ListNode* next;};1.使用三个指针遍历单链表,逐个链接点进行反转ListNode* ReverseList(ListNode* head){ ListNode* p; ListNode* q; ListNode* r;
2012-09-29 21:29:31 634
转载 pthread_cond_wait与mutex、while
http://a-shi.org/2012/07/27/pthread_cond_wait_mutex_while/ POSIX的条件变量(condition variable)的pthread_cond_wait通常会这样被使用: 1//在线程1中2 pthread_mutex_lock(&m
2012-09-23 18:07:44 3241
转载 字符串匹配(String Matching)
http://mindlee.net/2011/11/25/string-matching/字符串 T = abcabaabcabac,字符串 P = abaa,判断P是否是T的子串,就是字符串匹配问题了,T 叫做文本(Text) ,P 叫做模式(Pattern),所以正确描述是,找出所有在文本 T = abcabaabcabac 中模式 P = abaa 的所有出现。字符串匹配的用处应该很明
2012-09-23 17:22:25 1302
转载 5分钟搞定内存字节对齐
http://www.cnblogs.com/longlybits/articles/2385343.html如果体系结构是不对齐的,A中的成员将会一个挨一个存储,从而sizeof(a)为11。显然对齐更浪费了空间。那么为什么要使用对齐呢?体系结构的对齐和不对齐,是在时间和空间上的一个权衡。对齐节省了时间。假设一个体系结构的字长为w,那么它同时就假设了在这种体系结构上对宽度为w的数据的处理
2012-09-23 17:07:38 529
转载 pthread_cond_wait()用法分析
APUE 条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待"条件变量的条件成立"而挂起;另一个线程使"条件成立"(给出条件成立信号)。为了防止竞争,条件变量的使用总是和一个互斥锁结合在一起。 1. 创建和注销 条件变量和互斥锁一样,都有静态动态两种创建方式,静态方式使用PTHREAD_COND_
2012-09-23 16:30:39 1560
转载 互斥锁和条件变量
互斥锁和条件变量是出自Posix线程标准,用来同步一个进程中各个线程的,同时也可以用来同步几个进程间的,不过这需要此互斥锁和条件变量是存放在多个进程间共享的某个内存区的。互斥锁上锁与解锁: 1#include 2 3int pthread_mutex_lock(pthread_m
2012-09-23 10:33:29 1168
转载 Bresenham快速画直线算法
现在的计算机的图像的都是用像素表示的,无论是点、直线、圆或其他图形最终都会以点的形式显示。人们看到屏幕的直线只不过是模拟出来的,人眼不能分辨出来而已。那么计算机是如何画直线的呢,其实有比较多的算法,这里讲的是Bresenham的算法,是光栅化的画直线算法。直线光栅化是指用像素点来模拟直线,比如下图用蓝色的像素点来模拟红色的直线。给定两个点起点P1(x1, y1), P2(x2, y2),如
2012-09-19 15:24:02 2458
转载 Bezier曲线原理
一、原理: 贝塞尔曲线于1962年,由法国工程师皮埃尔·贝塞尔(Pierre Bézier)所广泛发表,他运用贝塞尔曲线来为汽车的主体进行设计。贝塞尔曲线最初由Paul de Casteljau 于1959年运用de Casteljau 算法开发,以稳定数值的方法求出贝塞尔曲线。线性贝塞尔曲线给定点 P0、P1,线性贝塞尔曲线只是一条两点之间的直线。这条线由下式给出
2012-09-13 15:10:58 33429
转载 养成良好的一生学习习惯
我们从小到大为了应试而完成学习任务,分数的高低来检验学习的成果。但是这对我们一生的学习习惯有什么积极的影响吗? 这种学习方式是一种掠夺式的,扼杀了我们对学习的兴趣。学习不是为了考一个好的分数,或许一个好的分数确实需要认真的学习;学习是一种自我境界的提升,而不是为了获得一个好的分数;学习是对自己兴趣的一种培养,而不是对潜力的扼杀。 摆脱应试的阴影吧!学习是一项极佳且富有意义的事情。
2012-09-03 10:41:58 860
转载 STL之vector的使用
第一部分使用入门vector可用于代替C中的数组,或者MFC中的CArray,从许多说明文档或者网上评论,一般一致认为应该多用vector,因为它的效率更高,而且具备很好的异常安全性。而且vector是STL推荐使用的默认容器,除非你知道你有特殊需要,使用vector不能满足你的需求,例如需要容器在head和tail高效的插入和删除,或者在任何位置高效的删除和插入操作,那么你可能使用deq
2012-08-30 23:08:44 286
转载 C++是如何利用虚函数实现多态性的?
#include using namespace std;class A{public: inline virtual vfun() { cout }};class B : public A{public: inline vfun()
2012-08-29 17:21:23 492
转载 C++中虚析构函数的作用
主要是为了处理多态中发生向上强制转换时先析构派生类从而避免内存泄漏的问题虚函数的作用,就是用基类的指针操作对象时,能在运行时判断出对象的真正类型。 比如 A * p= new B(); delete p; 如果A中的析构函数为虚函数,那么delete p的时候程序就会发现p指向的是一个B的对象,然后调用B的析构函数。 如果A中的析构函数不是虚函数,那么编译器就认为p指向
2012-08-28 22:32:58 639
转载 C++ 类访问控制public/private/protected
摘要:本文是从饮水思源BBS C/C++版上一篇帖子引发的思考。当时看到帖子,突然觉得平时见惯了的,在这里似乎变得陌生了,究竟访问控制符怎样起作用,怎样使用,该怎样理解,本文试图给出讨论。 访问权限是类级的,而不是对象级的。c++的限定符是限定类的,不是限定对象的,只要是类型相同就能相互访问,在类中(在类内部),即在类的成员函数中,也即针对类级,同类的对象就可以相互访问。原帖如下
2012-08-26 17:11:32 676
转载 构造函数中调用虚函数
在构造函数中调用虚成员函数,虽然这是个不很常用的技术,但研究一下可以加深对虚函数机制及对象构造过程的理解。这个问题也和一般直观上的认识有所差异。先看看下面的两个类定义。struct C180{ C180() { foo(); this->foo(); } virtual foo() { cout }};struct C190 : public
2012-08-26 14:47:53 710
转载 字符串匹配算法
平常操作文本的时候,经常需要操作对字符串进行操作。而字符串中最重要的一种操作就叫匹配,字符串的匹配算法很多,人们最熟悉的莫过于KMP算法了。今天就来谈一谈一些字符串匹配算法。 先来说说大名鼎鼎的KMP算法,这个算法出现在无数的数据结构与算法书上面。它的策略很简单:当模式串第k个字符不匹配主串中第s时,我们其实己经知道了主串中s个字符前的k-1个字符是什么,于是利用这些信息,构造一个
2012-08-25 22:36:07 521
原创 字符串的前缀和后缀
字符串的前缀是指字符串的任意首部。比如字符串“abbc”的前缀有“a”,“ab”,“abb”,“abbc”。同样,字符串的任意尾部是字符串的后缀,“abbc”的后缀有“c”,“bc”,“bbc”,“abbc”。现在给出一些字符串, 找出每个字符串中含字符种类最多的前缀或后缀。
2012-08-24 10:04:25 7262 1
转载 KMP字符串模式匹配详解
KMP字符串模式匹配详解来自CSDN A_B_C_ABC网友KMP算法优秀文章:http://www.cppblog.com/suiaiguo/archive/2009/07/16/90237.htmlhttp://blog.csdn.net/v_july_v/article/details/7041827#KMP字符串模式匹配通俗点说就是一种在一个
2012-08-23 10:07:31 533
转载 C++输入cin详解
输入原理:程序的输入都建有一个缓冲区,即输入缓冲区。一次输入过程是这样的,当一次键盘输入结束时会将输入的数据存入输入缓冲区,而cin函数直接从输入缓冲区中取数据。正因为cin函数是直接从缓冲区取数据的,所以有时候当缓冲区中有残留数据时,cin函数会直接取得这些残留数据而不会请求键盘输入#1:#include using namespace std;int main()
2012-08-20 15:38:28 713
转载 C语言中的高级声明--《c和指针》摘要
分析C语言中的高级声明时,记住三点:1、用于声明变量的表达式和普通的表达式在求值时所使用的规则相同2、下标运算符[ ] 和( )的优先级大于*3、从里往外分解,可以使用替代符号帮助分解例子:1、 int (*f) []; int *f[];前者是指针,指向数组,数组的元素是int后者是数组,数组的元素是int *指针2、int f()[]; int f[
2012-08-18 11:24:45 1444
转载 高低字节序
记住,书写方式是大头。****************************************************************************想要查看当前环境是高地址还是低地址可以使用联合体如:union str{int b;char a;};int main(){ str s; s.b = 'a'
2012-08-18 11:22:45 454
转载 C++中的Const 作用
Const 作用1. const类型定义:指明变量或对象的值是不能被更新,引入目的是为了取代预编译指令2. 可以保护被修饰的东西,防止意外的修改,增强程序的健壮性。3. 编译器通常不为普通const常量分配存储空间,而是将它们保存在符号表中,这使得它成为一个编译期间的常量,没有了存储与读内存的操作,使得它的效率也很高。4. 可以节省空间,避免不必要的内存分配。
2012-08-15 19:08:13 866
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人