- 博客(8)
- 收藏
- 关注
原创 引用,this指针,构造,析构函数及运算符重载,友元函数
引用this指针构造函数析构函数运算符重载友元函数一,引用 在C语言中,我们了解到函数传递参数的方式有传值和传址。 传值 优点:函数的副作用不会影响到外部的实参 缺点:不能通过修改参数来改变外部实参 ———————————————————————— 传址 优点:节省空间,效率高,改变参数可以改变外部实参 缺点:指针不安全在前...
2018-04-19 15:52:38 409
原创 编写函数 process_create(pid_t* pid, void* func, void* arg)
封装fork/wait等操作, 编写函数 process_create(pid_t* pid, void* func, void* arg),func回调函数就是子进程执行的入口函数, arg是传递给func回调函数的参数.#include<stdio.h>#include<unistd.h>#include<stdlib.h>int process_create(int (*func)(),c
2018-04-17 13:26:08 318
原创 实现自主myshell
简单实现自己的myshell用到以下三个函数:fork:pid_t fork(void); //创建子进程int execvp(const char *file,char * const argv[]);//替换子进程pid wait(int *status);进程等待#include<stdio.h>#include<stdlib.h>#inclu...
2018-04-17 13:01:49 445
原创 popen/system
popen()函数通过创建一个管道,调用fork()产生一个子进程,执行一个shell以运行命令来开启一个进程,可以通过这个管道执行标准输入输出操作。这个管道必须由pclose()这个函数关闭。如果不使用pclose()关闭,会产生僵尸进程。popen()函数不等待shell命令执行完成就返回了。popen的函数原型:#include<stdio.h> FILE *popen(const ch
2018-04-13 16:25:29 229
原创 stask_struct内容及僵尸进程,孤儿进程的模拟实现
stack_struct结构是Linux内核的一种结构,它里面装着进程的各种状态信息。 下面是它里面一些重要的信息:struct task_struct { //进程的运行时状态 volatile long state; /* -1 unrunnable, 0 runnable, >0 stopped */ void *stack;
2018-04-06 14:37:01 275
原创 进程的调度算法
调度算法:操作系统管理了系统的有限资源,当有多个进程(或多个进程发出的请求)要使用这些资源时,因为资源有限,所以必须按照一定的原则选择进程来占用资源。这就是调度,目的是控制资源使用者的数量,选取资源使用者许可占用资源或者占用资源。调度算法分类:1.先来先服务(FCFS) 先来先服务,也被称为先进先出(FIFO)或者严格排队方案。每个进程就绪后,会加入就绪队列。当前正运行的进程停止执行...
2018-04-02 14:43:11 362
原创 readelf命令,ELF格式文件的大概简介
readelf: 用于显示ELF格式文件的信息。可以通过它的选项来控制显示那些信息: -a 显示全部信息 -r 显示可重定位段的信息 -h 显示ELF文件开始的文件头信息 -d 显示动态段的信息 -l 显示程序头(段头)信息 -V 显示版本段的信息 -S 显示节点头信息 ...
2018-04-01 01:22:40 1031
原创 使用Makefile来实现彩色进度条
实现进度条: 1.用一个数组来放进度条 2.每次打印都从开始的位置打印,用 /r 控制光标回到开始的位置 3.通过printf来打印,printf中有格式输出彩色printf控制输出颜色为:printf(“ \033[显示方式;前景色;背景色m 内容 \033[0m ”);显示方式:0(默认值)、1(高亮)、22(非粗体)、4(下划线)、24(非下划线)、5(
2018-04-01 00:32:13 652
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人