- 博客(21)
- 资源 (4)
- 收藏
- 关注
原创 归并排序(合并排序)
合并排序(MERGE SORT)是又一类不同的排序方法,合并的含义就是将两个或两个以上的有序数据序列合并成一个新的有序数据序列,因此它又叫归并算法。它的基本思想就是假设数组A有N个元素,那么可以看成数组A是又N个有序的子序列组成,每个子序列的长度为1,然后再两两合并,得到了一个 N/2 个长度为2或1的有序子序列,再两两合并,如此重复,值得得到一个长度为N的有序数据序列为止,这种排序方法称为2—路
2016-03-27 21:52:42 4592 1
转载 阿里云CentOS 7.1使用yum安装MySql5.6.24
这篇文章演示如何使用yum的方式安装MySql5.6.24。1 常规错误的yum安装方法:在前文中记述了CentOS 6.5系统中通过yum方式快速地搭建了LNMP环境,那么是否也能在CentOS 7或CentOS 7.1系统中依葫芦画瓢安装MySql5.6.24呢?答案是否定的。[root@typecodes ~]# yum -y install mysql mysql-se
2016-03-26 23:12:18 2115
转载 阿里云CentOS 7.1编译安装MySql5.6.24
这篇文章主要是记录源码编译安装MySql5.6.24的过程。鉴于官方MySql5.6.24相对是一个比较稳定的版本,所以博主之前也在自己的另一台CentOS7.1主机上安装了一遍。不过最后还是图新鲜,选择了MySQL5.7.7rc版本。下面是具体的安装过程,由于和MySQL5.7.7rc的编译安装过程很类似,所以这里尽可能精简文字:1 创建mysql用户和用户组,并下载MySql5
2016-03-26 23:10:45 1636
转载 Linux 进程间通信 ----消息队列
一、消息队列(message queue)消息队列也是System V IPC机制之一。消息队列与命名管道类似,但少了打开和关闭管道方面的复杂性。但使用消息队列并未解决我们在使用命名管道时遇到的一些问题,如管道满时的阻塞问题。消息队列提供了一种在两个不相关进程间传递数据的简单有效的方法。与命名管道相比,消息队列的优势在于,
2016-03-21 21:56:01 377
转载 Linux c 管道和有名管道(FIFO)
Linux--进程间通信(管道及有名管道FIFO)(转)一. 管道: 1.只能用于具有亲缘关系的进程之间的通信 2.半双工通信模式 3.一种特殊的文件,是一种只存在于内核中的读写函数 管道基于文件描述符,管道建立时,有两个文件描述符:a. fd[0]: 固定用于读管道b. fd[1]: 固定用于写管道 创建管道:pipe()
2016-03-20 16:59:54 1563
原创 linux中静态库和动态库的区别
linux中静态库和动态库的区别一、不同库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行。库分静态库和动态库两种。 1. 静态函数库 这类库的名字一般是libxxx.a;利用静态函数库编译成的文件比较大,因为整个 函数库的所有数据都会被整合进目标代码中,他的优点就显而易见了,即编译后的执行程序不需要外部的函数库支持,因为所有使用的函数都已经被编
2016-03-20 15:40:33 472
转载 Linux的system()和popen()差异
Linux的system()和popen()差异1. system()和popen()简介在linux中我们可以通过system()来执行一个shell命令,popen()也是执行shell命令并且通过管道和shell命令进行通信。 system()、popen()给我们处理了fork、exec、waitpid等一系列的处理流程,让我们只需要关注最后的返回结果(函数的返回值
2016-03-20 10:34:11 561
原创 大数乘法
用数组做了一个大数乘法的算法,很粗糙,但很实用 1 #include 2 #define MAX 100 3 4 void my_mulity(char *buf1, char *buf2); 5 6 void my_mulity(char *buf1, char *buf2) 7 { 8 int len1 = 0; 9
2016-03-19 22:17:39 300
转载 POSIX 线程库功能接口与知识点汇总
POSIX 线程库功能接口与知识点汇总—— Linux 平台cnyinlinux 2016 元月 西安 库 : /lib64/libpthread.so*头文件 : pthread.h 目 录第一篇 线程创建与控制第二篇 线程属性设置第三篇 线程同步技术开 篇本文只是针对PO
2016-03-16 17:05:46 1061
转载 库函数与系统调用的区别联系
库函数 与 系统调用 的区别联系一,概念系统调用(英语:system call),指运行在用户空间的应用程序向操作系统内核请求某些服务的调用过程。 系统调用提供了用户程序与操作系统之间的接口。一般来说,系统调用都在内核态执行。由于系统调用不考虑平台差异性,由内核直接提供,因而移植性较差(几乎无移植性)。库函数(library function),是由用户或组织自己
2016-03-16 17:03:53 481
转载 C/S架构与多进程多线程
C/S架构与多进程多线程 如题,C/S架构指的是服务器(Server)与客户机(Client)协作完成网络程序功能的一种模式。它是已经在计算机世界活跃数十年的一种古老的软件架构。如今已渗入到各领域IT系统中。其模型如下所示。本文从以下3个方面阐述C/S架构软件设计与多进程多线程实现多任务框架。1.C/S工作原理2.多任务设计3.多进程与多线程
2016-03-16 17:02:33 3520
转载 Linux进程与线程的区别
Linux进程与线程的区别cnyinlinux本文较长,耐心阅读,必有收获!进程与线程的区别,早已经成为了经典问题。自线程概念诞生起,关于这个问题的讨论就没有停止过。无论是初级程序员,还是资深专家,都应该考虑过这个问题,只是层次角度不同罢了。一般程序员而言,搞清楚二者的概念,在工作实际中去运用成为了焦点。而资深工程师则在考虑系统层面如何实现两种技术及其各自的性能和实现代价。
2016-03-16 17:01:32 505
转载 线程实质
线 程线程与进程的比较概述:进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享
2016-03-16 17:00:13 3314
转载 TCP通信中的粘包问题
TCP通信中的粘包问题尹德位 2015 西安 关键词 : TCP 网络通信 粘包 Linux C/S一 粘包问题概述二 粘包回避设计 第一章 粘包问题概述1.1 描述背景采用TCP协议进行网络数据传送的软件设计中,普遍存在粘包问题。这主要是由于现代操作系统的网络传输机制所产生的。我们知道,网络通信采用的
2016-03-16 16:58:52 1968
转载 gdb常用调试命令
gdb是一个在UNIX环境下的命令行调试工具。如果需要使用gdb调试程序,请在gcc时加上-g选项。下面的命令部分是简化版,比如使用l代替list等等1.基本命令1)进入GDB #gdb test test是要调试的程序,由gcc test.c -g -o test生成。进入后提示符变为(gdb) 。2)查看源码 (gdb) l 源码
2016-03-15 15:59:32 629
原创 大小端机器的判定
所谓的大端模式,是指数据的低位(就是权值较小的后面那几位)保存在内存的高地址中,而数据的高位,保存在内存的低地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放; 所谓的小端模式,是指数据的低位保存在内存的低地址中,而数 据的高位保存在内存的高地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低,
2016-03-04 15:04:16 349
转载 c/c++静态区 常量区 栈 堆
一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 堆(heap):由malloc,new等分配的空间的地址,地址由低向高增长(程序员释放)。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。
2016-03-03 16:23:48 382
转载 exit()使用
注:exit()就是退出,传入的参数是程序退出时的状态码,0表示正常退出,其他表示非正常退出,一般都用-1或者1,标准C里有EXIT_SUCCESS和EXIT_FAILURE两个宏,用exit(EXIT_SUCCESS);可读性比较好一点。作为系统调用而言,_exit和exit是一对孪生兄弟,它们究竟相似到什么程度,我们可以从Linux的源码中找到答案:#d
2016-03-03 15:55:51 1080
原创 static关键字使用方法
static关键字使用方法:1.static修饰变量 静态全局变量:静态全局变量与普通全局变量的区别: ①二者都先于主函数创建 ②声明周期贯穿整个程序③都存在与内存的静态区 ④普通全局变量可以被外部.c文件识别;静态全局变量不可以,只能被本文件使用静态局部变量:存在于内存的静态区。在函数内定义,函数调用完后不被释放,下次仍然可以使
2016-03-03 15:12:56 271
原创 素数快速求法
素数指的是只能被1和自身整除的的数。那么如何求解出N以内的所有素数呢?1、暴力解决 遍历两次2、优化暴力 内层遍历只需遍历到N的开方 因为一个合数能被整除a*b = N,那么a和b必然有一个是小于N的开方的。所以要是合数的话,遍历到N开方前就会被除开,证明为合数。3、以上还是不够快,所以使用筛选法,即2的倍数,3的倍数.....都要不是素数,直接删除 1 #include
2016-03-02 15:26:59 1387
转载 TCP三次握手和四次挥手详解
TCP头部: 其中 ACK SYN 序号 这三个部分在以下会用到,它们的介绍也在下面。暂时需要的信息有:ACK : TCP协议规定,只有ACK=1时有效,也规定连接建立后所有发送的报文的ACK必须为1SYN(SYNchronization) : 在连接建立时用来同步序号。当SYN=1而ACK=0时,表明这是一个连接请求报文。对方若同意建立连接
2016-03-02 11:41:08 270
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人