自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(50)
  • 收藏
  • 关注

转载 Linux下Shell工作原理

Linux系统提供给用户的最重要的系统程序是Shell命令语言解释程序。它不属于内核部分,而是在核心之外,以用户态方式运行。其基本功能是解释并执行用户打入的各种命令,实现用户与Linux核心的接口。系统初启后,核心为每个终端用户建立一个进程去执行Shell解释程序。它的执行过程基本上按如下步骤: (1)读取用户由键盘输入的命令行。 (2)分析命令,以命令名作为文件名,并将其它参数改造为系统调

2013-07-19 13:52:42 180

原创 求大数阶数

#include #define N 10000int main(){ static int r[N]={1}; int i,j; int k=0,l=0; for(i=1;i<=50;i++) { for(j=0;j<=l;j++) { r[j]=r[j]*i+k; k=r[j]/10000; r[j]=r[j]%10000;

2013-08-15 22:29:45 299

原创 socket

UDP 使用sendto和recvfrom代替使用在套接字上的read和write。

2013-08-05 17:33:02 95

原创 AES 加密模式

计数器(CTR)模式: IN(N) = ENC(K, COUNT++), C(N) = IN(N) XOR P(N);CTR 模式被 广泛用于 ATM 网络安全和 IPSec应用中,相对于其它模式而言,CRT模式具有如下特点: ■ 硬件效率:允许同时处理多块明文 / 密文。 ■ 软件效率:允许并行计算,可以很好地利用 CPU 流水等并行技术。 ■ 预处理: 算法和

2013-08-01 11:58:10 505

转载 linux sort 命令 详解

sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分钟搞定sort,现在开始!1 sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。[rocrocket@rocrocket programming]$ cat seq.txtbananaapplep

2013-07-26 14:51:51 160

原创 多线程计算----pthread

#include #include #include #include #include #define NUM_THREADS 10 #define buffer_size 6000000void *thread_function(void *agr);int buffer[buffer_size];int result[NUM_THREADS];int result1[

2013-07-19 17:25:35 408

原创 进程间通信方式

1.管道2.信号量3.共享内存4.消息队列5.套接字6.信号

2013-07-17 14:48:27 131

原创 命名管道-----消费者

#include #include #include #include #include #include #include #include #define FIFO_NAME "/tmp/my_fifo"#define BUFFER_SIZE PIPE_BUFint main() { int pipe_fd; int res; int open_mode = O_

2013-07-17 14:26:54 235

原创 命名管道--生产者

#include #include #include #include #include #include #include #include #define FIFO_NAME "/tmp/my_fifo"#define BUFFER_SIZE PIPE_BUF#define TEN_MEG (1024 * 1024 * 10)int main(int argc, c

2013-07-17 14:25:55 334

原创 pipe----管道----fork

#include #include #include #include int main() { int data_processed; int file_pipes[2]; const char some_data[] = "123"; char buffer[BUFSIZ + 1]; pid_t fork_result; memset(buffer, '\0', s

2013-07-17 10:13:29 202

原创 pipe----管道

#include #include #include #include int main() { int data_processed; int file_pipes[2]; const char some_data[] = "123"; char buffer[BUFSIZ + 1]; memset(buffer, '\0', sizeof(buffer)); i

2013-07-17 10:03:15 248

原创 值传递 地址传递

在调用一个有参数的过程时,首先进行的是形式参数与实在参数的结合,实现调用过程的实在参数与被调用过程的形式参数之间的数据传递。数据传递方式有两种方式:按值传递与按地址传递。1. 按值传递参数  按值传递参数时,是将实在参数的值复制一个形式参数中,如果在调用过程中改变了形式参数的值,不会影响实在参数本身,即实在参数保持调用前的值不变。      按值传递参数方法是在

2013-07-16 17:44:39 290

原创 线程同步-2

互斥量:#include #include #include #include #include #include void *thread_function(void *arg);pthread_mutex_t work_mutex;#define WORK_SIZE 1024char work_area[WORK_SIZE];int time_to_exit = 0

2013-07-16 16:05:37 260

原创 线程同步

线程同步的两种方法:1. 信号量2. 互斥量信号量:#include #include #include #include #include #include void *thread_function(void *arg);sem_t bin_sem;#define WORK_SIZE 1024char work_area[WORK_SIZE];int

2013-07-16 16:00:48 236

原创 pthread

#include #include #include #include #include void *thread_function(void *arg);char message[] = "Hello world!\n";int main() { int res; pthread_t a_thread; void *thread_result; res = pthr

2013-07-16 14:12:55 282

原创 ubuntu 12.04 白名单 Skype

gsettings set com.canonical.Unity.Panel systray-whitelist "['Skype']"

2013-07-09 09:03:59 226

原创 malloc new

一:new delete 是运算符,malloc,free是函数malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编

2013-07-08 11:44:54 146

原创 compizconfig settings manager 特效问题 侧边,上边栏消失

按 ctrl+alt+F1登录之后执行sudo rm -rf .config/compiz* .gconf/apps/compiz*killall gnome-sessionsudo reboot

2013-06-19 14:42:47 302

原创 undefined reference to `std::cout'等错误

1)gcc和g++都是GNU(组织)的一个编译器。 2)后缀名为.c的程序和.cpp的程序g++都会当成是c++的源程序来处理。而gcc不然,gcc会把.c的程序处理成c程序。3)对于.cpp的程序,编译可以用gcc/g++,而链接可以用g++或者gcc -lstdc++。

2013-06-03 10:15:28 273

原创 JNI编程

JNI介绍Java 本机接口(Java Native Interface (JNI))是一个本机编程接口,它是 Java 软件开发工具箱(Java SoftwareDevelopment Kit (SDK))的一部分。JNI允许 Java 代码使用以其它语言(譬如 C 和 C++)编写的代码和代码库。Invocation API(JNI 的一部分)可以用来将 Java 虚拟机(JVM)嵌入

2013-05-24 13:40:56 186

原创 字符设备和块设备

设备文件分为Block Device Driver和Character Device Drive两类。Character Device Drive又被称为字符设备或裸设备raw devices; Block Device Driver通常成为块设备。而Block Device Driver是以固定大小长度来传送转移资料 ;Character Device Driver是以不定长度的字元传送资料

2013-05-23 15:25:22 174

原创 管道

管道分为无名管道和有名管道,其中无名管道不属于任何文件系统,只存在于内存中,它是无名无形的,但是可以把它看作一种特殊的文件,通过使用普通文件的read(),write()函数对管道进行操作, 有名管道是有名有形的,为了使用这种管道,LINUX中设立了一个专门的特殊文件系统--管道文件,它存在于文件系统中,任何进程可以在任何时候通过有名管道的路径和文件名来访问管道。但是在磁盘上的只是一个节点,而文件

2013-05-22 13:41:54 166

原创 文件属性

By typing ls –l you can see the permission bits of the file. There are different permission bits for each of owner, group, and world (everyone). The owner is shown first, then group, then world (from

2013-05-20 09:18:30 172

原创 GDB 调试

r (程序运行的参数)  可以设置运行时的参数shell  运行shell环境的东西,比如shell make,完了以后直接r重新启动程序,就可以带上次已经加过的参数运行,不用再敲参数了b 文件名:行号  有的时候很有用,嘿嘿info b  看断点信息disable 断点号   暂停某个断点enable 断点号   启动某个断点delete (断点号)   删除某个断点,不

2013-05-16 08:33:03 157

原创 rpm 命令

rpm -v    显示rpm程序的详细信息rpm --version   显示rpm的版本号rpm -qa    显示系统中安装的所有软件包rpm -q gcc   查询指定软件包是否已安装rpm -qi gcc   显示指定软件包的详细信息RPM(Red Hat Package Manager)命令:rpmrpm -ql gcc    显示指定软件包所包含的

2013-05-07 14:21:59 167

原创 C++ Primer Vector

vector 是同一种类型的对象的集合,每个对象都有一个对应的整数索引值。和 string 对象一样,标准库将负责管理与存储元素相关的内存。我们把vector 称为容器,是因为它可以包含其他对象。一个容器中的所有对象都必须是同一种类型的。vector 是一个类模板(class template)。使用模板可以编写一个类定义或函数定义,而用于多个不同的数据类型。因此,我们可以定义保存st

2013-05-03 16:24:10 188

原创 C++ Primer String

string类型支持长度可变的字符串。引用头文件:#include using std::string;几种初始化string对象的方式:1.  默认构造函数s1为空串string s1;2. 将s2初始化为s1的一个副本string s2(s1);3. 将s3初始化为一个字符串字面值的副本string s3("value");

2013-05-03 16:02:10 159

原创 常用的数据结构

一、栈: 1、后缀表达式的求值; 2、中缀到后缀表达式的转换; 3、深度优先搜索的非递归实现; 4、动态规划的优化:用于维护一个凸序列,便于二分查找,如LIS问题的O(nlgn)算法。 二、队列: 1、树的层序遍历; 2、广度优先搜索; 3、Bellman-Ford算法的SPFA实现; 4、网络流中FF算法的Edmonds-Karp实现,以及Preflo

2013-05-02 10:04:21 460

原创 堆和栈的区别

一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)—,

2013-04-28 16:23:33 122

原创 typedef 函数指针

进入正文: 代码简化, 促进跨平台开发的目的. typedef 行为有点像 #define 宏,用其实际类型替代同义字。 不同点:typedef 在编译时被解释,因此让编译器来应付超越预处理器能力的文本替换。用法一:typedef int (*MYFUN)(int, int); 这种用法一般用在给函数定义别名的时候上面的例子定义MYFUN 是一个函数

2013-04-28 10:51:10 139

原创 sizeof struct

字节对齐的细节和编译器实现相关,但一般而言,满足三个准则:1) 结构体变量的首地址能够被其最宽基本类型成员的大小所整除;2) 结构体每个成员相对于结构体首地址的偏移量(offset)都是成员大小的整数倍,如有需要编译器会在成员之间加上填充字节(internal adding);3) 结构体的总大小为结构体最宽基本类型成员大小的整数倍,如有需要编译器会在最末一个成员之后加上填充字节(tr

2013-04-28 09:38:18 153

原创 杨辉三角

int num(int i, int j){ if((j==1)||(j==i+1)) return 1; return num(i-1,j-1)+num(i-1,j);}int main (){ int count = 6; int i, j, k, res; for(i = 0; i <= count; i++) { for(j = 0; j < 24 - 2

2013-04-27 15:01:41 160

原创 约瑟夫环

bool checknum(int n){ if(0 == (n % 7)) return 1; while(n > 0) { if(7 == (n % 10)) return 1; n /= 10; } return 0;}#if 0int main(){ int i; bool flag = false; int j = 0; int pos =

2013-04-26 13:57:28 186

原创 C++ 练习

1.绘制余弦曲线 2.绘制余弦曲线和直线 3.绘制圆 4.歌星大奖赛 5.求最大数 6.高次方数的尾数 7.阶乘尾数零的个数   8.借书方案知多少 9.杨辉三角形  10.数制转换 11.打鱼还是晒网 12.抓交通肇事犯 13.该存多少钱 14.怎样存钱利最大 15.捕鱼和分鱼 16.出售金鱼 17.平分七筐鱼 18.有限5位数

2013-04-26 11:46:11 3028

原创 C++ 笔试

1.求下面函数的返回值( 微软)int func(x) { int countx =0;while(x) { countx ++; x = x&(x-1);} return countx;} 假定x = 9999。 答案:8思路:将x转化为2进制,看含有的1的个数。 2. 什么是“引用”?申明和使用“引用”要注

2013-04-25 09:40:08 152

原创 Impala

http://www.cloudera.com/content/cloudera-content/cloudera-docs/ImpalaBeta/0.7/Installing-and-Using-Impala/Installing-and-Using-Impala.htmlhttp://yanbohappy.sinaapp.com/?p=220http://dirlt.c

2013-04-23 15:17:08 176

原创 SMP NUMA MPP

从系统架构来看,目前的商用服务器大体可以分为三类,即对称多处理器结构(SMP:Symmetric Multi-Processor),非一致存储访问结构(NUMA:Non-Uniform Memory Access),以及海量并行处理结构(MPP:Massive Parallel Processing)

2013-04-23 10:49:26 317

转载 Linux 管道

利用输入/输出重定向 在Linux命令行模式中,如果命令所需的输入不是来自键盘,而是来自指定的文件,这就是输入重定向。同理,命令的输出也可以不显示在屏幕上,而是写入到指定文件中,这就是输出重定向。接下来看看标准输入/输出重定向在构造一条Linux命令中的实际应用。1.输入重定向和输出重定向 # wc aa.txt# ls > home.txt第一条命令将文件aa

2013-04-20 15:33:20 138

转载 Grep 命令 用法大全

1、 参数: -I :忽略大小写 -c :打印匹配的行数 -l :从多个文件中查找包含匹配项 -v :查找不包含匹配项的行 -n:打印包含匹配项的行和行标 2、RE(正则表达式) \ 忽略正则表达式中特殊字符的原有含义 ^ 匹配正则表达式的开始行 $ 匹配正则表达式的结束行 \\> 到匹配正则表达式的行结束 [ ] 单个字符;如[A] 即A符合要

2013-04-20 15:16:32 144

转载 KMP字符串模式匹配详解

MP字符串模式匹配通俗点说就是一种在一个字符串中定位另一个串的高效算法。简单匹配算法的时间复杂度为O(m*n);KMP匹配算法。可以证明它的时间复杂度为O(m+n).。一.  简单匹配算法先来看一个简单匹配算法的函数:int Index_BF ( char S [ ], char T [ ], int pos ){ /* 若串 S 中从第pos(S 的下标0≤pos起存

2013-04-19 16:16:47 130

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除