- 博客(14)
- 收藏
- 关注
原创 进程和线程
在程序里创建了线程,编译时,需要连接 -pthreadUbuntu下 man pthread create 帮助文档sudo apt-get install glibc-docsudo apt-get install manpages-posix-dev
2020-08-23 23:47:34
99
原创 线程
pthread_self--获取当前线程id头文件:pthread.h原型:pthread_t pthread_self(void);参数:无 返回值:返回当前线程的id
2020-08-23 18:47:20
151
原创 进程信息
查看系统中的进程信息命令: ps -auxps输出信息 USER 进程的属主;PID 进程的ID;PPID 父进程;%CPU 进程占用的CPU百分比;%MEM 占用内存的百分比;NI 进程的NICE值,数值大,表示较少占用CPU时间;VSZ 进程虚拟大小;RSS 驻留中页的数量;TTY 终端ID WCHAN ...
2020-08-23 14:42:16
280
原创 网络编程
目录系统编程系统编程1st1、Sys:系统就是(linux =>kernel)给用户土工一些接口(function),用户通过这些接口编程及时系统编程2、kernel:1、文件系统:把硬盘抽象成文件系统,方便用户使用Windows:ms_dos fat16 fat32 fat64 ntfs ……Linux: fat nfs sxt2 ext3 ext4……2、内存管理:虚拟内存:32位系统下(4G)0 —— 3G : 用户态stsck : 局部变量 临时变
2020-07-14 22:42:07
321
原创 寄存器
寄存器:r0 ~ r15 : 所有寄存器r0 ~ r12 : 普通寄存器r0 ~ r3 : 临时寄存器 用于函数传参r11 => ip : 栈顶指针寄存器r12 => fp : 保存栈顶指针寄存器r13 ~ r15 : 特殊寄存器r13 => sp : 栈指针寄存器 用于扩展寄存器不足r14 => lr : 链接寄存器 用户保存返回地址r15 => pc : 程序计数器 pc指向哪条指令,就会执行哪条指令APSR : 程序状态寄存器CPSR : CPU状态
2020-07-14 22:36:30
596
原创 位运算符
位运算符符号位:最高位1 : 表示是负数0 : 表示是正数算术移位:考虑符号位算术右移:asrASR{S} ,,#ASR{S} ,,逻辑移位:不考虑符号位 逻辑左移:lsl 逻辑右移:lsr循环右移 :ror ROR{S}<c> <Rd>,<Rm>,#<imm> ROR{S}<c> <Rd>,<Rn>,<Rm> 左移: 逻辑左移右移: ??c >>位或:|
2020-07-14 22:36:09
129
原创 搭架网络文件系统
1 创建根文件系统 mkdir /filesystem => filesystem.tar 2 共享根文件系统 nfs vim /etc/exports 添加如下一行 /filesystem *(rw) service nfs restart showmount -e serverip 3 配置板子网络环境 ipaddr=192.168.0.253 serverip=192.168.0.254
2020-07-14 22:33:25
101
原创 Linux启动过程
许多人对Linux的启动过程感到很神秘,因为所有的启动信息都在屏幕上一闪而过。其实 Linux的启动过程并不象启动信息所显示的那样复杂,它主要分成两个阶段: 1.启动内核。在这个阶段,内核装入内存并在初始化每个设备驱动器时打印信息。 2.执行程序init。装入内核并初始化设备后,运行init程序。init程序处理所有程序的启动,包括重要系统精灵程序和其它指定在启动时装入的软件。 下面以Red Hat为例简单介绍一下Linux的启动过程。 一、启动内核 首先介绍启动内核部分。电脑启
2020-07-14 22:27:46
264
原创 atoi
#include <stdio.h>#include <string.h>#include <stdlib.h>//123 => 1int my_atoi(char *s){int result = 0;while(*s != '\0'){ if (*s < '0' || *s > '9') { return result; } result *= 10; result += *s - 48; s++;}return
2020-07-14 22:19:56
80
原创 树
树:空树:圆圈和直线来表示圆圈表示数据直线表示数据之间关系根节点 :无父节点节点就是根节点父节点:子节点:祖先节点:子孙节点:兄弟节点:父节点是同一个节点子节点就是兄弟节点表兄节点:叶子节点:没有子节点节点就是叶子节点森林:n个树就组成森林二叉树: 最多只有两个节点的树就是二叉树左子树:右子树:树深度: depth树节点个数 count满二叉树:如果树深度是depth count = 2^depth - 1完全二叉树: 1 : count = 2^(dep
2020-07-14 22:13:49
68
原创 数据结构栈与队列
一对一逻辑关系 线性表顺序表 :链表 :栈和队列栈:数据关系先进后出 后进先出一种数据结构max : 表示栈大小top : 表示栈顶指针 或者 栈底指针入栈 压栈 :保存数据出栈 弹栈 :读取数据满栈: top == max 如果是满栈,则不可以压栈空栈: top == 0 如果是空栈,则不可以弹栈数栈:顺序标封装栈链栈:链表封装栈#include <stdio.h>#include <string.h>#include <stdl
2020-07-14 22:10:28
93
原创 预处理编译
预处理:源文件(.c) => 二进制可执行文件 => 计算机识别gcc file.c => a.out四步:1 预处理把头文件展开并保存到源文件中 处理伪代码和特殊字符 头文件 < >: /usr/include " ": pwd => /usr/include 宏命令 format : #define name value 条件编译 格式一: #if const cmd; en
2020-07-14 22:06:25
152
原创 makefile
=================================================makefile : 多文件编译也是一门计算机语言 叫规则性一门语言1 创建makefile文件 touch Makefile2 书写格式 规则名: tab cmd 默认规则 => all3 执行 make => 表示执行第一条规则 make 规则名=====================================参数:-s : 表示静态编译或者在make
2020-07-14 22:03:12
109
原创 snprintf
snprintf##//表示输入输出头文件#include <stdio.h>//str家族函数头文件 strcpy strcat strcmp strchr strlen memcpy …#include <string.h>//申请内存空间头文件 malloc calloc realloc#include <stdlib.h>#define MAX 10//定义学生结构体类型struct cls_t{char name[64];int age;
2020-07-14 21:55:08
256
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人