Fork me on GitHub

随笔分类 -  Linux 编程

该文被密码保护。
posted @ 2019-10-14 21:11 克拉默与矩阵 阅读(27) 评论(0) 推荐(0) 编辑
摘要:bcopy、bzero和bcmp是传统BSD的函数,属于POSIX标准 memcpy、memset、memcmp是C90(以及C99)标准的C函数。 区别在于,如果你打算把程序弄到一个符合C90/C99,但是不符合POSIX标准的平台时,mem*比较有优势。 NetBSD的代码中有很多地方使用mem 阅读全文
posted @ 2019-03-10 17:57 克拉默与矩阵 阅读(822) 评论(0) 推荐(0) 编辑
摘要:struct sockaddr和struct sockaddr_in这两个结构体用来处理网络通信的地址。在各种系统调用或者函数中,只要和网络地址打交道,就得用到这两个结构体。 网络中的地址包含3个方面的属性: 地址类型: ipv4还是ipv6 IP地址 端口 相应的,struct sockaddr定 阅读全文
posted @ 2019-03-10 17:31 克拉默与矩阵 阅读(860) 评论(0) 推荐(0) 编辑
摘要:转自:UNIX网络编程卷1:源码配置 本节主要介绍UNIX网络编程卷1(第三版)在Ubuntu16.04的配置问题,并运行一个简单时间获取客户程序。 首先下载源文件,链接如下:http://www.unpbook.com/src.html 将下载好的压缩文件unpv13e.tar.gz解压,解压后文 阅读全文
posted @ 2019-01-21 10:11 克拉默与矩阵 阅读(1051) 评论(0) 推荐(0) 编辑
摘要:TCP报文格式 源端口、目的端口 各占2个字节,分别写入源端口号和目的端口号。端口号用于区分不同服务 序号 序号占4字节,范围是[0,2^32-1],共2^32(即4 294 967 296)个序号。序号增加到2^32-1后,下一个序号就又回到0。TCP是面向字节流的。在一个TCP连接中传送的字节流 阅读全文
posted @ 2019-01-20 20:50 克拉默与矩阵 阅读(607) 评论(0) 推荐(0) 编辑
摘要:API参考:初级文件IO——概述、API dup复制文件描述符 使用dup、dup2复制方式实现文件共享时,不管复制出多少个文件描述符,它们永远只有一个文件表,所以使用所有描述符去操作文件时,最后使用的都是通过同一个文件位移量,不管谁操作后文件位移量都会被更新,因此不会出现覆盖。 什么是重定位 某文 阅读全文
posted @ 2019-01-15 22:55 克拉默与矩阵 阅读(442) 评论(0) 推荐(0) 编辑
摘要:Ctrl + C 和Ctrl + Z都是中断命令,但是他们的作用却不一样. Ctrl + C 是强制中断程序的执行,进程已经终止。 Ctrl + C 发送 SIGINT信号 参考:linux信号 Ctrl + Z 的是将任务中止(暂停的意思),但是此任务并没有结束,他仍然在进程中他只是维持挂起的状态 阅读全文
posted @ 2019-01-15 00:29 克拉默与矩阵 阅读(21967) 评论(0) 推荐(2) 编辑
该文被密码保护。
posted @ 2019-01-13 19:32 克拉默与矩阵 阅读(6) 评论(0) 推荐(0) 编辑
摘要:predefined macros,预定义宏,C/C++混合编程 阅读全文
posted @ 2019-01-09 11:38 克拉默与矩阵 阅读(401) 评论(0) 推荐(0) 编辑
摘要:windows的环境变量 环境变量的组成 环境变量 = 环境变量名 + 环境变量数据 不管是环境变量名,还是环境变量数据,都是字符串。大多数环境变量的数据,基本都是路径。 为什么在命令行执行我自己的程序,需要指明路径? 在windows下,如果你不加路径的话,会道默认到当前路径下找程序,没有的话就找 阅读全文
posted @ 2018-09-30 18:04 克拉默与矩阵 阅读(445) 评论(0) 推荐(0) 编辑
摘要:参考文章: 关于有名管道open时阻塞的问题 Linux有名管道(FIFO)的阻塞和非阻塞读写 挖坑,日后填 阅读全文
posted @ 2018-09-22 23:38 克拉默与矩阵 阅读(921) 评论(0) 推荐(0) 编辑
摘要:参考:Where Does GCC Look to Find its Header Files? 命令行参数 VS 程序参数 ./a.out 1 2 3 4 5 6 1 2 3 4 5 6是程序参数,是传给a.out这个程序处理的,main里面的argv来接收 ./a.out 1 2 3 4 5 6 阅读全文
posted @ 2018-09-22 16:20 克拉默与矩阵 阅读(279) 评论(0) 推荐(0) 编辑
摘要:forc-and-exec流程 父进程与子进程之间的关系十分复杂,最大的复杂点在于进程间相互调用。Linux下这一流程称为fork-and-exec。父进程通过fork的方式产生一个一模一样的子进程,然后被复制出来的子进程再以exec的方式来执行实际要进行的进程,最终成为一个子进程的存在。整个流程如 阅读全文
posted @ 2018-09-22 10:09 克拉默与矩阵 阅读(2322) 评论(0) 推荐(2) 编辑
摘要:前言——多进程并发 有OS支持时,会有很多的进程在运行,这些进程都是并发运行的。 什么是并发运行? 就是CPU轮换的执行,当前进程执行了一个短暂的时间片(ms)后,切换执行另一个进程,如此循环往复,由于时间片很短,在宏观上我们会感觉到所有的进程都是在同时运行的,但是在微观上cpu每次只执行某一个进程 阅读全文
posted @ 2018-09-22 01:12 克拉默与矩阵 阅读(475) 评论(0) 推荐(0) 编辑
摘要:在初级文件IO里面这两个函数的用法比较复杂,单独记录下 fcntl 原型 功能 fcntl函数其实是File Control的缩写,通过fcntl可以设置、或者修改已打开的文件性质。 参数 fd:指向打开文件 cmd:控制命令,通过指定不同的宏来修改fd所指向文件的性质。 F_DUPFD 复制描述符 阅读全文
posted @ 2018-09-21 20:19 克拉默与矩阵 阅读(2030) 评论(1) 推荐(1) 编辑
摘要:同一进程共享操作相同的文件 在同一个进程中多次open打开同一文件时,文件描述符可能会相同吗? 答:不可能。在同一进程里面,一旦某个文件描述符被用了,在close释放之前,别人不可能使用,所以指向同一文件的描述符不可能相同。 代码演示 1 #include <stdio.h> 2 #include 阅读全文
posted @ 2018-09-21 17:03 克拉默与矩阵 阅读(298) 评论(0) 推荐(0) 编辑
摘要:前言 如果open打开失败的话(比如文件不存在就会导致失败),open啥也不会干就直接返回了。但是如果open将文件打开成功的话,open具体做了哪些事情呢? open成功后行为 记录打开文件的信息 ①程序运行起来后就是一个进程了,OS会创建一个task_struct的结构体,记录进程运行时的各种信 阅读全文
posted @ 2018-09-13 09:39 克拉默与矩阵 阅读(712) 评论(0) 推荐(0) 编辑
摘要:先要回答的问题 文件IO指的是什么? 本文主要讲述如何调用Linux OS所提供的相关的OS API,实现文件的读写。 如何理解文件IO? IO就是input output的意思,文件io就是文件输入输出,也就是文件读写。 文件读写,读写的是什么? 是数据。 文件IO(Input Output),也 阅读全文
posted @ 2018-09-04 11:04 克拉默与矩阵 阅读(934) 评论(0) 推荐(0) 编辑
摘要:前言 UDP是User Datagram Protocol的缩写,直译为用户数据报协议。 UDP是不可靠传输协议,没有连接和应答机制,导致UDP在发送数据时,根本不清楚通信线路的连通状态,所以UDP传输数据时,无法保证数据一定能发送给对方。 每次传输数据时,必须指定对方的IP和端口。对于UDP来说, 阅读全文
posted @ 2018-08-12 13:39 克拉默与矩阵 阅读(870) 评论(0) 推荐(0) 编辑
摘要:前言 使用TCP通信时,TCP协议要求必须要有一个服务器端。这一点是由TCP协议本身的特性决定的,只要你使用TCP协议来通信,就必须要有一个TCP服务器端。 TCP服务器的大概工作过程 (1)服务器会使用专门“文件描述符”来监听客户的“三次握手”,然后建立连接。 (2)一旦连接建立成功后,服务器会分 阅读全文
posted @ 2018-08-11 10:34 克拉默与矩阵 阅读(1905) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示