![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux系统编程
文章平均质量分 74
小陈同学123
这个作者很懒,什么都没留下…
展开
-
使用动态库的技巧
当我们编译是出现这个问题的时候是因为找不到头文件 我们需要使用这个链到头文件的位置 gcc demo1.c -I ./curl-7.71.1/_install/include/这个位置需要根据库的位置具体设置 这边的 -I表示的是从./curl-7.71.1/_install/include/这个地方去找头文件,.表示从当前路径下去找,如果不是在当前路径下去找到话可以使用pwd查看头文件的位置 当出现这个错误的时候 这个错误表示找不到库的位置 我们需要执行这个来找库的位置 gcc demo1.c -I.原创 2021-05-08 17:11:35 · 102 阅读 · 0 评论 -
Liunx系统编程之进程
1.什么是进程,什么是程序,有什么区别? 程序是静态的概念 gcc xx.c -o pro 磁盘中生成的pro文件,叫程序 进程是程序的一次运行活动,通俗的说就是程序跑起来了,系统就多了一个进程。 2.如何查看系统中有哪些进程? ps -aux|grep a.out//查看a.out进程详细信息 A. 使用ps指令查看 实际使用中,配合grep 来查看程序中是否存在某个进程 B.使用top指令查看,类似window任务管理器 3.什么是进程标识符? 每个进程都有一个非负整数表示的唯一ID,叫做pid,类似身原创 2021-03-16 21:40:32 · 134 阅读 · 0 评论 -
文件操作(Liunx系统编程)
文件操作 open read write lseek fopen fread fwrite fseek(与seek用法相同) 1. open()文件打开 函数原型: int open(const char *pathname, int flags); 打开或者创建文件需要下面3个头文件(查询头文件可在Liunx下使用 man 2 open查找,不需要强行记下) 并且 open的返回值为 int 型 int fd;//文件描述符 fd = open("./file1",O_RDWR); 文件名 ,打开方原创 2021-03-12 16:05:03 · 130 阅读 · 0 评论 -
Liunx ftp云盘项目
项目介绍: 利用socket实现云盘的基本功能: ls———查看服务端文件 lls———查看客户端文件 cd———切换服务端目录 lcd———切换客户端目录 put———上传文件 get———下载文件 pwd———显示路径 quit———退出 自定义一个头文件将项目所需的宏定义和结构体放在里面(注意:该头文件引用时需要使用#include" config.h"得用引号) #define LS 0 #define GET 1 #define P原创 2021-02-03 13:50:34 · 338 阅读 · 0 评论 -
ftp阅读笔记
服务端:sever.c int main() { msg_handler(msg,c_fd);//指令处理函数,对ls,pwd等指令的处理 get_cmd_type(char *cmd)//判断客户端发送的指令是什么 strcmp()字符串比较函数 strstr(cmd,"cd")在字符串 cmd中查找第一次出现字符串 cd的位置,若出现了则为真 getDisDir(msg.cmd)//分隔字符串 char *p; p = strtok(csmg," ");//以空原创 2021-03-20 17:47:06 · 67 阅读 · 0 评论 -
Liunx系统编程之线程
#include<pthread.h>//头文件 进程——资源分配的最小单位,线程——程序执行的最小单位 多线程开发在 Linux 平台上已经有成熟的 pthread 库支持。其涉及的多线程开发的最基本概念主要包含三点:线程,互斥锁,条件。其中,线程操作又分线程的创建,退出,等待 3 种。互斥锁则包括 4 种操作,分别是创建,销毁,加锁和解锁。条件操作有 5 种操作:创建,销毁,触发,广播和等待。其他的一些线程扩展概念,如信号灯等,都可以通过上面的三个基本元素的基本操作封装出来。详细请见下表:原创 2021-04-03 20:34:39 · 106 阅读 · 0 评论 -
Liunx系统编程之进程间通信
进程间通信(IPC)是指在不同进程之间传播或交换信息。 参考博文:https://www.cnblogs.com/CheeseZH/p/5264465.html 1.管道(无命名管道) 管道,通常指无名管道,是 UNIX 系统IPC最古老的形式。–只适用于父子进程, 特点: 它是半双工的(即数据只能在一个方向上流动),具有固定的读端和写端。 它只能用于具有亲缘关系的进程之间的通信(也是父子进程或者兄弟进程之间)。 它可以看成是一种特殊的文件,对于它的读写也可以使用普通的read、write等函数。但是它不原创 2021-03-17 17:51:33 · 157 阅读 · 0 评论 -
Liunx系统编程之网络编程——socket
TCP/UDP对比 1.TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据前,不需要建立连接 2.TCP提供可靠的服务,也就是说通过TCP连接传送的数据是无差错,不丢失,不重复且按序到达的;UDP是尽最大努力交付,即保证可靠交付。 3.TCP是面向字节流,实际上是TCP把数据看成是一连串无结构的字节流;UDP是面向报文的,UDP没有拥塞控制,因此网络出现拥塞不会是源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议…) 4.每一条TCP连接只能是点到点的;UDP支持一对一,原创 2021-03-20 14:41:25 · 147 阅读 · 0 评论