自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 复制进程 fork 僵死进程 孤儿进程

fork() 方法 函数返回类型 pid_t 实质是 int 类型,ork 函数会新生成一个进程,调用 fork 函数的进程为父进程,新生成的进程为子进程。在父进程中返回子进程的 pid(大于0),在子进程中返回 0,失败返回-1。fork拷贝父进程资源,例如缓冲区,堆区资源等。Linux 的 fork()使用写时拷贝(copy-on-write)页实现。写时拷贝是一种可以推迟甚至免除拷贝数据的技术。父进程通过调用wait()完成,Init() 进程收养孤儿进程

2022-11-23 20:56:28 179

原创 计算机基础理论概述

系统把程序代码段和数据段送入计算机的内存控制器从存储器中取指令控制器分析,执行指令,为取下一条指令做准备取下一条指令,分析执行,如此重复操作,直至执行完程序中全部指令,便可获得全部指令连接计算机各部件之间或各计算机直接的一束公共信息线,它是计算机中传送信息代码的公共途径进程:一个正在运行的程序。进程=程序+数据+PCBPCB : 即是进程控制块(Processing Control Block),是进程存在的唯一标志。用来描述进程的属性信息。

2022-11-20 11:26:22 654

原创 main主程序隐藏的三个参数与printf隐藏的缓冲区

main 函数隐藏的三个参数printf 隐藏的缓冲区return 和 exit()的区别exit() 和 _exit() 的区别 强制刷新缓冲区

2022-11-08 22:07:26 231

原创 Linux 系统上的库文件生成与使用

静态库的生成和使用,动态库的生成和使用,静态库和动态库的区别库文件分为静态库和动态库,静态库和动态库的区别体现在程序的链接阶段。一般来说,Windows的静态库文件扩展名是.lib,动态库文件扩展名是 .dll (Dynamic-Link Libraries),Linux的静态库扩展名是 .a,动态库扩展名是 .so (Shared Object)。内容一样,都是将函数封装在一起编译后供自己或他人调用。好处在于编译后的库文件看不到源代码,可保密。库是一组预先编译好的方法的集合。

2022-11-06 15:07:57 737

原创 Linux 系统上 C 程序的编译与调试

C程序的编译 链接调试gcc 编译gdb 调试示例:C/C++语言中:* .c / * .cpp源文件(文本),* .h头文件(文本) * .o / * .obj 二进制目标文件,* .exe可执行文件。编译器首先要检查代码的规范性、是否有语法错误等,以确定代码的实际要做的工作,在检查无误后,编译器把代码翻译成汇编语言,文件是一个外存的概念,文件只存在于”外存”(硬盘,U盘,网盘)中,文件由两部分构成,文件名和文件主体。,但是原来的文件仍然保留,只是执行过程中的实际文件发生了改变

2022-11-03 11:37:44 2485

原创 Linux(Ubuntu)

打开终端:ubuntu上右键 打开终端快捷键:ctrl shift + 三键组合->放大字体ctrl - 两键组合 ->缩小字体Linux 系统的目录结构是一颗倒状树/bin : 存放命令/etc: 配置文件/home: 普通用户的家目录 (普通用户活动范围,具有权限)/root : 管理员家目录/proc: 虚拟文件系统目录,以进程为单位存储内存映射关系。(进程:程序代码 + 运行起来)/dev: 设备文件/mnt : 临时挂载点/lib : 库文件。

2022-10-24 19:54:19 2896

原创 结构体(C语言)

int age;};//定义结构体变量 struct Student stu1 = {stu2 = {//通过结构体变量来进行成员的访问 .(点,成员访问符) printf("%s\n" , stu1 . name);//定义一个结构体类型的数组,赋值,数组打印:第...个学生姓名,年龄,成绩 struct Student arr [ ] = {{i < len;i ++) {...

2022-08-09 20:15:29 1044

原创 动态内存(C语言)

静态内存:例如:int arr[10],这种申请空间的方式申请到的是静态内存,静态内存的大小是不能改变的。//1M存储单元 printf("hello\n");return 0;}申请内存过大,程序运行会崩掉栈区:我们知道栈区在函数被调时分配,用于存放函数的参数值,局部变量等值。在 windows 中栈的默认大小是 1M,在vs中可以设置栈区的大小。在Liunx中栈的默认大小是10M,在gcc编译时可以设置栈区的大小。...

2022-08-04 21:46:23 364

原创 指针(C语言)

指针的定义与普通变量的定义很类似,不过要在变量名前加上*,便于区分,格式为datatype*name或者datatype*name,*表示这是个指针变量,datatype是指针所指向数据的类型intmain{//定义指针变量int*p=NULL;p=&b;//定义指针变量}指针的大小只跟平台有关,和定义指针的类型无关,在32位平台是四个字节,在64位平台是八个字节空指针和野指针int*p;//野指针int*q=NULL//空指针利用。...

2022-07-30 20:55:52 263

原创 时间复杂度 空间复杂度(C语言)

时间复杂度 空间复杂度

2022-07-21 22:18:43 216

原创 C语言 字符串数组

字符串结尾标记'\0'。strlen求字符串大小碰到'\0'结束统计,不算结尾标记('\0')求字符串长度时也可利用。

2022-07-21 00:45:02 2309 1

空空如也

空空如也

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

TA关注的人

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