进程创建后,进程进入就绪态,当CPU调度到此进程时进入运行态,当时间片用完时,此进程会进入就绪态,如果此进程正在执行一些IO操作(阻塞操作)会进入阻塞态,完成IO操作(阻塞结束)后又可进入就绪态,等待CPU的调度,当进程运行结束即进入结束态。练习:通过父子进程完成对文件的拷贝(cp),父进程从文件开始到文件的一半开始拷贝,子进程
原创 2023-08-13 01:24:18
130阅读
在C语言的标准IO库中的库函数,
原创 2023-06-10 00:43:08
98阅读
功能:从stream文件流读取nmenb个数据项存放至ptr所指的
原创 2023-06-10 00:43:09
91阅读
目录一、查询文件信息1、stat2、stat fstat lstat区别二、目录操作2.1 opendir2.2 readdir2.3 closedir例练习:实现ls操作三、库3.1 库的定义3.2 库的分类3.2.1 静态库3.2.2 动态库3.3 创建库3.3.1 静态库制作3.3.2 动态库制作 一、查询文件信息1、statint stat(const char *path, struc
原创 精选 2023-06-17 09:12:30
331阅读
linux c基础(共21集):http://www.21edu8.com/pcnet/programming/29943/show.html?29943-0-0
转载 精选 2013-07-19 16:33:24
865阅读
4评论
Linux内核shell shell命令 shell脚本glibc 在Linux上使用C/C++开发 C标准库、内核服务、线程、网络、文件… 搭建C开发环境sudo apk install gccwindows codeblocks 开源的 轻量级开发工具 选择合适的开发工具 vim gcc编译工具 直接控制参数比较灵活mkdir ccd cvim args.c#include <stdi
原创 2022-01-14 16:21:25
79阅读
我们知道,一个进中的所有线程共享进程的资源,所以可以通过在进程中定义的值是1。
原创 2023-08-12 08:54:13
817阅读
1、 int a=5;        a=(a=3*5,a*4),a+5;         a=?        注:赋值运算符要优先于逗号运算符,故 a = 60; 2、交换两个变量(整型)的值,
原创 2011-05-12 13:45:27
634阅读
1、早期通信:无名管道(pipe),有名管道(fifo)、信号(sem)2、system V IPC:共享内存(share memory) 、信号灯集(semaphore)、、BSD:套接字(socket)
原创 2023-10-16 09:22:04
122阅读
进程间通信:信号的使用以及共享内存的创建
原创 2023-10-16 14:36:14
138阅读
在Linux下编程发现一个诡异的现象,就是在链接一个静态库的时候总是报错,类似下面这样的错误:   (.text+0x13): undefined reference to `func'   关于undefined reference这样的问题,大家其实经常会遇到,在此,我以详细地示例给出常见错误的各种原因以及解决方法,希望对初学者有所帮助。   1. 链接时缺失了相关目标文件(.o)   
目录linux网络编程基础知识协议分层模型结构数据封装以太网帧和ARP请求IP协议传输层协议CS和BS模型 linux网络编程基础知识协议一组规则。数据传输和数据的解释的规则。TCP、IP、UDP、ARP、MQTT、HTTP、Modbus协议等等TCP协议注重数据的传输。http协议着重于数据的解释。传输层 常见协议有TCP/UDP协议。 应用层 常见的协议有HTTP协议,FTP协议。 网络层
Linux C++ 网络编程(二)前言在上一节中以拆分的方式学习完 Linux 、C++、网络等知识后,这节会将这三个模块糅合起来,站在项目的基础上再次去学习这三个模块。 Linux 网路编程比较经典的有 Redis、Muduo、TeamTalk等开源项目。本文将以 Muduo 来介绍 网络编程的框架,学习完 Muduo 再去学习其他框架就容易许多了。注意, 文中贴的代码均为核心代码,且注释详细,
常量:不会变化的数据。不能被修改。1. “hello”、'A'、-10、3.1415926
原创 2022-11-01 16:50:18
147阅读
文章目录1、参考文章:C++网络通信中write和read的为什么会阻塞[2、参考文章:网络编程(24)—— linux中write和read函数的阻塞试验]找write非阻塞代码123我的代码10 一开始我写了个这样的非阻塞write代码1 去掉循环write 1、参考文章:C++网络通信中write和read的为什么会阻塞 现在要搞明白,如何让调用write()函数的时候,先让它去判断发送缓
1.新建工作空间 2.新建c程序 3.编译 会多出一个a.out 4.执行 这里需要说明的是,需要安装gcc和vim。一个是编译器,一个是编辑器。
原创 2021-08-05 16:13:25
71阅读
问题描述:采用UDP协议广播传输文件。所谓UDP协议是面向无连接的,不可靠的,工作于传输层的一种协议。这里补充讲解下ISO七层网络模型。常见的ISO七层网络模型基本可以由下图进行概括说明:对于TCP/IP模型则将7层重新归类为4类。应用层:TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等 传输层:TCP,UDP 网络层:IP,ICMP,OSPF,EIGRP,IGMP 数据
文章目录
原创 2023-03-09 09:43:26
107阅读
## Linux 下查看 Python 是否安装 在 Linux 系统中,Python 是一种非常常用的编程语言。如果你要开发 Python 程序或者运行 Python 脚本,需要先确保 Python 已经被正确地安装在你的系统中。本文将介绍如何在 Linux 系统中查看是否安装了 Python。 ### 使用命令行查看 Python 版本 在 Linux 中,可以通过命令行来查看系统中是否
原创 2023-11-14 07:58:45
57阅读
对消息队列的操作无非有下面三种类型:1、 打开或创建消息队列消息队列的内核持续性要求每个消息队列都在系统范围内对应唯一的键值,所以,要获得一个消息队列的描述字,只需提供该消息队列的键值即可;注:消息队列描述字是由在系统范围内唯一的键值生成的,而键值可以看作对应系统内的一条路经。2、 读写操作消息读写操作非常简单,对开发人员来说,每个消息都类似如下的数据结构: struct msgbuf{ long
  • 1
  • 2
  • 3
  • 4
  • 5