自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

转载 epoll原理详解及epoll反应堆模型

设想一个场景:有100万用户同时与一个进程保持着TCP连接,而每一时刻只有几十个或几百个TCP连接是活跃的(接收TCP包),也就是说在每一时刻进程只需要处理这100万连接中的一小部分连接。那么,如何才能高效的处理这种场景呢?进程是否在每次询问操作系统收集有事件发生的TCP连接时,把这100万个连接告诉操作系统,然后由操作系统找出其中有事件发生的几百个连接呢?实际上,在Linux2.4版本以前,那时...

2019-11-12 16:14:56 875 2

转载 Linux socket详解

1、 网络中进程之间如何通信首要解决的问题是如何唯一标识一个进程,在本地可以通过进程PID来唯一标识一个进程,但是在网络中这是行不通的。其实TCP/IP协议族已经帮我们解决了这个问题,网络层的ip地址可以唯一标识网络中的主机,而传输层的协议+端口可以唯一标识主机中的应用程序(进程)。这样利用三元组(ip地址,协议,端口)就可以标识网络的进程了,网络中的进程通信就可以利用这个标志与其它进程进行交互...

2019-11-11 16:19:05 549

转载 C语言的本质——C标准库之字符串操作

字符串处理函数C语言提供了丰富的字符串处理函数,大致可分为字符串的输入、输出、合并、修改、比较、转换、复制、搜索几类。使用这些函数可大大减轻编程的负担。用于输入输出的字符串函数,在使用前应包含头文件"stdio.h",使用其它字符串函数则应包含头文件"string.h"。下面介绍几个最常用的字符串函数。字符串输出函数 puts格式: puts (字符数组名)功能:把字符数组中的字符串输...

2019-10-21 17:57:52 969

原创 Linux正则表达式

C的变量和Shell脚本变量的定义和使用方法很不相同,表达能力也不相同,C的变量有各种类型,而Shell脚本变量都是字符串。同样道理,各种工具和编程语言所使用的正则表达式规范的语法并不相同,表达能力也各不相同,有的正则表达式规范引入很多扩展,能表达更复杂的模式,但各种正则表达式规范的基本概念都是相通的。如果要用grep查找一个模式,如何表示这个模式,这一类字符串,而不是特定的字符串呢?从这两个...

2019-10-21 14:01:30 305

原创 C++程序经典例子 91-100

【程序91】题目:时间函数举例11.程序分析:2.程序源代码:#include "stdio.h"#include "conio.h"#include "time.h"void main(){ time_t lt; /*define a longint time varible*/ lt=time(NULL);/*system time and date*/ print...

2019-10-18 16:02:16 938

原创 C++程序经典例子 81-90

【程序81】题目:809*??=800*??+9*??+1 其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。1.程序分析:2.程序源代码:#include "stdio.h"#include "conio.h"output(long b,long i){ printf("\n%ld/%ld=809*%ld+%ld"...

2019-10-18 15:59:08 626

原创 C++程序经典例子 71-80

【程序71】题目:编写input()和output()函数输入,输出5个学生的数据记录。1.程序分析:2.程序源代码:#include "stdio.h"#include "conio.h"#define N 5struct student{ char num[6]; char name[8]; int score[4];}stu[N];input(stu)str...

2019-10-18 15:51:06 410

原创 C++程序经典例子 61-70

【程序61】题目:打印出杨辉三角形(要求打印出10行如下图)   1.程序分析:       1      1  1      1  2  1      1  3  3  1      1  4  6  4  1      1  5  10 10 5  1 2.程序源代码:#include "stdio.h"#include "conio.h"main(){ int ...

2019-10-18 15:42:10 520

原创 C++程序经典例子 51-60

【程序51】题目:学习使用按位与 & 。   1.程序分析:0&0=0; 0&1=0; 1&0=0; 1&1=12.程序源代码:#include "stdio.h"main(){ int a,b; a=077; b=a&3; printf("\40: The a & b(decimal) is %d \n",b); b&...

2019-10-18 15:34:46 11278

原创 C++程序经典例子 41-50

【程序41】题目:学习static定义静态变量的用法   1.程序分析:2.程序源代码:#include "stdio.h"#include "conio.h"varfunc(){ int var=0; static int static_var=0; printf("\40:var equal %d \n",var); printf("\40:static var ...

2019-10-18 15:24:56 1383

原创 C++程序经典例子 31-40

【程序31】题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。2.程序源代码:#include "stdio.h"#include "conio.h"void main(){ char letter; printf("please input...

2019-10-18 15:21:22 448

原创 C++程序经典例子 21-30

【程序21】题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。1.程序分析:采取逆向思维的方法,从后往前推断。2.程序源代码:#include "stdio.h"#include "conio.h"mai...

2019-10-18 15:17:22 616

原创 C++程序经典例子 11-20

【程序11】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21…2.程序源代码:#include "stdio.h"#include "conio.h"main(){ long f1,f2; int i; f1...

2019-10-18 14:24:40 1475 1

原创 C++程序经典例子 1-10

【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。2.程序源代码:#include "stdio.h"#include "conio.h"main(){ int i,j,k; printf("\n"); for(i=1;i<...

2019-10-18 14:16:03 3132

转载 Linux多线程编程小结

mark: 在多线程中使用 cout打印输出时会出现乱序, printf则没有该现象.参考:http://www.cnblogs.com/gnuhpc/archive/2012/12/07/2807484.htmlhttp://www.cnblogs.com/xianghang123/archive/2011/08/11/2134927.html·线程创建函数原型:int pthread_...

2019-10-18 12:01:02 162

转载 Linux下的多线程编程

1 引言线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的 Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多操作系统所支持,包括Windows也包括Linux。  为什么有了进程的概念后,还要再引入线程呢?使用多线程到底有哪些好处...

2019-10-18 11:44:48 214

原创 C语言的本质——VS调试 GDB调试命令

VS调试1、VC的调试快捷键F5: 开始调试Shift+F5: 停止调试F10: 调试到下一句,这里是单步跟踪F11: 调试到下一句,跟进函数内部Shift+F11: 从当前函数中跳出Ctrl+F10: 调试到光标所在位置F9: 设置(取消)断点Alt+F9: 高级断点设置GDB调试命令backtrace(或bt) 查看各级函数调用及参数finis...

2019-10-17 16:38:18 488

转载 C语言的本质——Makefile

除了Hello World这种极简单的程序之外,一般的程序都是由多个源文件编译链接而成的,这些源文件的处理步骤通常用Makefile来管理。makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的IDE都有这个命令C语言首先要把源文件...

2019-10-17 15:07:25 3295

转载 C语言的本质——共享库

库用于将相似函数打包在一个单元中。然后这些单元就可为其他开发人员所共享,并因此有了模块化编程这种说法— 即,从模块中构建程序。Linux支持两种类型的库,每一种库都有各自的优缺点。静态库包含在编译时静态绑定到一个程序的函数。动态库则不同,它是在加载应用程序时被加载的,而且它与应用程序是在运行时绑定的。使用共享库的方法有两种:您既可以在运行时动态链接库,也可以动态加载库并在程序控制之下使用它们。本...

2019-10-17 13:39:43 672

转载 C语言的本质——静态库

库是一种软件组件技术,库里面封装了数据和函数。库的使用可以使程序模块化。Windows系统包括静态链接库(.lib文件)和动态链接库(.dll文件)。Linux通常把库文件存放在/usr/lib或/lib目录下。Linux库文件名由:前缀lib、库名和后缀3部分组成,其中动态链接库以.so最为后缀,静态链接库通常以.a作为后缀。在程序中使用使用静态库和动态库时,他们载入的顺序是不同的。...

2019-10-17 11:56:48 310

空空如也

空空如也

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

TA关注的人

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