- 博客(10)
- 收藏
- 关注
原创 c c++的区别
本篇博客讲述c.c++的八大区别一、函数重载*在c中,函数名相同的俩个函数,没有函数重载,编译器会报错。* 但在c++中,函数会重载,依赖函数的原型,有三个要素:1.函数名相同 重载的前提函数名应该相同2.参数列表不同 函数的参数类型 ,个数,顺序不同3.处于同一作用域 而函数...
2019-07-22 21:56:22
176
原创 I/O复用 select poll epoll
一、I/O复用的含义:是一种计算机对于I/O事件的处理,事实上,在I/O上不可能时时刻刻都有事件发生(传输数据),所以就把事件监听起来,当有事件发生,再分配进程或线程去处理它,而不是让一个进、线程阻塞在这里,等待事件发生。二、I/O分为1、同步I/O :数据的读写由应用程序自己完成,由内核来向应用程序通知就绪事件。2、异步I/O:数据的读写由内核完成,内核向应用程序通知完成...
2019-07-20 20:55:13
225
原创 Linux 编译、连接原理
这篇博客是讲述计算机是如何将人类所编写的高级语言(字符语言)转换成自己所认识的二进制语言,对程序运行的。一、预编译 (将.c文件转换为.i文件)1.#define 进行宏替换 例如#define max 10 对全文中的所有出现max的地方替换成数字102.处理 #if #elseif # endif 等所有预处理指令3.#include递归展开头文件 因为#incl...
2019-07-19 19:36:08
292
原创 fork函数和写实拷贝
一、fork的返回值和父子进程基本概念pid_t fork(void) ;//是一个返回值为pid_t类型的系统调用函数1、fork 出错 时返回值为 -12、fork函数调用一次,返回俩次。在原来的进程(父进程)返回新进程的pid(不可能为0),在新进程(子进程)中返回0;3、新进程返回原来的数据,用程序计数器来操作,新进程从fork之后开始运行。4、 fork之后...
2019-04-03 11:51:41
421
原创 进程间通讯——管道
通常,在一个用户计算机上会同时运行多个程序,而一个程序会有多个任务要完成,需要各个任务之间协同工作,所以需要完成进程间的通讯。 进程间的通讯方式有:管道,信号量,共享内存,消息队列,socket套接字等 不同的是,前几种通讯方式都是在单机上进行,而socket套接字是在多个机子之间进行,此篇博客先对管道进行一些讲解。 管道在进程...
2019-04-03 10:25:28
165
原创 网络基础知识及tcp udp的区别和连接过程
网络: 将俩台主机连接起来互联网 将各个网络连接起来 (路由器) 最大的互联网 Inter 互联网中通讯的主角: 运行在不同主机上的俩个进程 如何在网络标识进程: IP地址 + 端口号IP地址:标识网络中主机的地址端口号:标示主机上的进程的PID网络设备:交换机路由器(选路 存储 转发)路由表 IP地址指定的网络对应的接口...
2019-03-14 12:20:17
2159
原创 字符串
字符串一定以'\0'结尾,只有以'\0'结尾的字符数组才能叫做字符串1.char arr[5]={'a','b','c','d','e'}//不是字符串,无'\0';2.char brr[5]={"abcd"}//是字符串 用“”包含,一定得有'\0'结尾3. 2也可表示为char brr[5]="abcd"printf(“%s\n”,brr);//只认'\0'4 char drr[10]={'...
2018-03-17 22:04:13
121
原创 指针的运算
一、指针+1是指加一个单元格指针加减法都需调整 调整的是权重权重为指针去掉一个星号,然后求sizeof()example:int*p 去掉* sizeof(int)为4;double*p 去掉* sizeof(double)为8;eg 1:(十进制 相加)int *p=(int*)100;printf("%d\n",p+4);//116p...
2018-03-17 21:53:58
168
原创 求进制问题
假设在n进制下,567*456=150216,求n的值:A 9 B 10 C 12 D 181.俩边同时对n取余(从最低位角度考虑):将俩边同时按n进制展开:(5n^2+6n+7)*(4n^2+5n+6)=1n^5+5n^4+2n^2+1n+6 式142%n=6 ...
2018-03-17 20:35:53
261
原创 顺逆序输出一个正整数n的每一位
/逆序输出n的每一位(对10取余且丢弃最低位)void PrintReverse(int n){ if(n < 0) { printf("-"); n =-n;(处理n是负数的情况) } do { printf("%d ",n%10);//对10取余且打印出最低位 n /= 10;//用n除10,以此循环继续打印最低位 }while(n != 0);//用do while 处理边...
2018-03-12 23:00:06
918
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人