自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C语言小游戏---贪吃蛇

贪吃蛇小游戏

2022-09-06 17:24:39 253 1

原创 文件系统。

NTFS文件系统是一个基于安全性的文件系统,是Windows NT所采用的独特的文件系统结构,它是建立在保护文件和目录数据基础上,同时照顾节省存储资源、减少磁盘占用量的一种先进的文件系统。使用非常广泛的Windows NT 4.0采用的就是NTFS 4.0文件系统,相信它所带来的强大的系统安全性一定给广大用户留下了深刻的印象。Ext2:Ext是GNU/Linux 系统中标准的文件系统,其特点为存取文件的性能极好,对于中小型的文件更显示出优势,这主要得利于其簇快取层的优良设计。常规认知:根目录 \。

2022-09-06 17:14:55 217

原创 linux 交叉编译

在一个平台上生成另一个平台上的可执行代码。例如,我们再windows上面编写C51代码,并编译成可执行代码,如xx.hex,是在c51上面运行,不是在windows上面运行;我们在ubuntu上面编写树莓派的代码,并编译成可执行代码,如a.out,是在树莓派上面运行,不是在ubuntu linux上面运行。因为目标平台还没有建立,连操作系统都没有,根本谈不上运行什么编译器。宿主机(host) :编辑和编译程序的平台,一般是基于X86的PC机,通常也被称为主机。在一个平台上生成在该平台上的可执行代码。....

2022-08-29 21:45:22 385

原创 Linux 静态库和动态库

在学习或者开发中,实现一个项目需要实现很多的功能,那么这些功能不可能在一个".c"文件下实现,需要多个".c"文件来共同实现,但是程序的入口只有一个,就体现了分文件编程的重要性,在主函数中调用其余的功能函数。程序升级简单,因为app里面没有库的源代码,升级之后只要库的名字不变,函数名以及参数不变,只是实现做了优化,就能加载成功。链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序可以共用,节省内存。制作出来的库(具体的实现,存放.c、.cpp)发布程序需要提供依赖的动态库。..

2022-08-11 17:08:37 391

原创 linux 文件服务站

3.进入服务器 xx 文件夹。2.进入客户端 xx 文件夹。2.展示服务器有哪些文件。1.查看客户端本地文件。4.上传文件到服务器。1.获取服务器的文件。

2022-08-09 20:38:00 336

原创 Linux --socket网络编程

例如,对于每个TCP/IP实现来说,FTP服务器的TCP端口号都是2I,每个Telnet服务器的TCP端口号都是23,每个TFTP(简单文件传送协议)服务器的UDP端口号都是69。read函数是负责从fd中读取内容.当读成功时,read返回实际所读的字节数,如果返回的值是0表示已经读到文件的结束了,小于0表示出现了错误。addr:一个指向包含有本机IP地址和端口号等信息的sockaddr类型的指针,指向要绑定给sockfd的协议地址结构,这个结构结构根据地址创建socket时的地址协议族的不同而不同。...

2022-08-09 16:17:40 614

原创 linux 线程

进程与线程 进程可以看成只有一个控制线程,一个进程同一时刻只做一件事情,有了多个控制线程后,可以把进程设计成在同一时刻做不止一件事,每个线程独立处理各自的任务。 进程是程序执行的一个实例,是担当分配系统资源的(cpu时间,内存)的基本单位。在面向线程设计的系统中,进程本身不是基本运行单位,而是线程的容器。程序本身只是指令、数据、组织形式的描述,进程才是程序的真正运行实例。 进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其他进程产生影响,而线程是一个进

2022-08-06 21:30:44 154

原创 进程间通信(IPC)

IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量,共享内存,Socket,Streams等。3.可以看做是一种特殊的文件,对它的读写可以用普通的read,write等函数,但他不是普通的文件,并不属于其他任何文件系统,只存在于内存中。若要数据流从父进程流向子进程,则关闭父进程读端(fd[0])和子进程写端(fd[1]);当管道建立时,会创建两个文件描述符,fd[0]和fd[1],fd[0]代表为读而打开,fd[1]代表为写而打开。进程间通信(IPC)是指在不同进程间传播或者交换信息。...

2022-07-25 21:30:17 567

原创 linux 进程---exec族函数,system函数,popen函数。

我们在fork函数创建新进程后,经常会在新进程中调用exec函数去执行另外一个程序。当进程调用exec函数时,该进程被完全替换为新程序。因为调用exec函数并不会创建新进程,因此前后进程的ID并没有改变。在调用进程内部执行一个可执行文件,既可以是二进制文件也可以是Linux下的任何可执行的脚本文件。通过execl函数在execl.c中去执行echoarg.c中的代码,打印出传过去的两个参数。创建execl.c文件。...............

2022-07-24 15:35:28 180

原创 什么是孤儿进程?

父进程如果不等待子进程退出,在子进程退出之前就结束了自己的生命,此时的子进程就叫做孤儿进程。Linux避免系统存在过多的孤儿进程,init进程收留孤儿进程,变成孤儿进程的父进程。...

2022-07-24 14:42:54 304

原创 文件编程之修改程序的配置文件

文件编程之修改程序的配置文件。

2022-07-22 15:53:35 202

原创 【无标题】linux文件操作之自己实现cp(拷贝)指令

代码】【无标题】linux文件操作之自己实现cp(拷贝)指令。

2022-07-22 15:13:53 68

原创 C语言的结构体和联合体区别

里面的数据各自有自己的存储空间,地址是连续的,结构体的大小等于各数据大小之和。所有数据共用一个内存空间,共用体的大小由字节数最大的那个数据决定。

2022-07-20 15:26:49 638

原创 fork创建子进程的目的

(1)一个父进程希望复制自己,使父子进程同时执行不同的代码段,父进程等待客户端的服务请求,当请求到达时,父进程调用fork函数,让子进程去处理这个请求,而父进程则继续等待下个请求的到来。......

2022-04-03 15:56:32 112

原创 使用fork函数创建一个进程。

pid_t fork(void),fork函数是一个无参数类型的函数。调用fork函数成功时,会返回两次,当返回值大于0时,代表当前进程是父进程,返回值等于零时,代表此时是子进程。如果调用失败,则返回-1。运行结果:............

2022-04-02 19:58:11 869

原创 Linux进程相关概念

程序:是一个静态概念,例如gcc test1.c -o mytest,在磁盘中会生成mytest文件,这个就叫做程序。进程:是程序的一次运行活动,程序运行的时候,系统中就多了一个进程。

2022-04-02 19:07:00 282

原创 vfork和fork都能创建进程,他们有什么区别?

关键区别一vfork直接使用父进程存储空间,不用对其进行拷贝。关键区别二vfork保证子进程先运行,当调用exit函数退出时,父进程才会运行。

2022-04-01 19:20:35 260

原创 指针变量为什么要求类型?

我们知道,指针变量存放的是一个数据地址的变量,那么为什么要区分指针变量的类型呢?原因有以下两点。(1)决定指向空间的大小#include <stdio.h>int main(){ int a=12345; int *p=&a; char *p2=&a; printf("p=%p\n",p);//打印a的地址 printf("p2=%p\n",p2);//打印a的地址 printf("a=%d\n",*p)

2022-03-29 19:32:16 821 2

原创 利用结构体求最高分最低分的分别是谁

#include <stdio.h>#include <stdlib.h>struct student{ int score; char*name; };int main(){ struct student st1[5]; int i; struct student maxstu; struct student minstu; for(i=0;i<sizeof(st1)/sizeof(st1[0]);i++){.

2022-03-01 19:36:16 399

原创 结构体变量的访问

第一种,用点运算符进行内容的赋值和访问。struct student{ int score; char name[128];};int main(){ struct student stu; strcpy(stu.name,"张三"); stu.score=99; printf("%s %d\n",stu.name,stu.score);第二种,当遇到结构体指针时,利用->来进行变量的赋值和访问,此时不能用点运算符!!!而且需要注意指针是否为野指针或NUL

2022-03-01 19:26:33 1040

原创 字符串里面元素有效个数的计算

字符串在内存中,除了有效字符以外,还会自动在后面补一个'\0',作为字符串的结束标志!例如char str[]="abcd"; printf("字符串的大小是%d\n",sizeof(str)/sizeof(str[0])); //结果却是5,这是因为字符串结尾处自动添加了一个'\0'作为结束标志。...

2022-02-26 20:18:42 1473

空空如也

空空如也

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

TA关注的人

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