- 博客(11)
- 收藏
- 关注
原创 系统级I/O
输入/输出( I /O)是在主存和外部设备(例如磁盘驱动器、终端和网络)之间复制数据的过程。输入操作是从I/O设备复制数据到主存,而输出操作是从主存赋值数据到I/O设备。Unix I/O所有I/O设备(例如网络、磁盘和终端)都被模型化为文件,而所有的输入和输出都被当做对相应文件的度和写来执行。这种设备优雅地映射为文件的方式,允许Linux内核引出一个简单、低级的应用接口,称为Unix I/O,...
2019-12-07 21:22:27
141
原创 进程控制
fork函数fork描述:创建进程fork函数一次调用,两次返回。父进程中,fork返回子进程的PID。子进程中,fork返回0。若出错则返回-1。每次用户向shell输入一个可执行目标文件的名字,运行程序时,shell就会创建一个新的进程,然后在这个新进程的上下文中运行这个可执行目标文件。应用程序也能创建新进程,并在这个新进程的上下文中运行他们自己的代码或其他应用程序。父进程通过调用f...
2019-12-07 18:56:23
176
原创 链接
链接的概念1.链接是将各种代码和数据片段收集并组合成为一个单一文件的过程,这个文件可被加载(复制)到内存并执行。2.链接可以执行于编译、加载、运行时。3.在现代系统中,链接由连接器自动执行。具体操作编译器驱动程序测试代码1//mismatch-main.c#include <stdio.h>long int x; /* Weak symbol */int main...
2019-11-07 18:41:54
181
原创 数组、栈(Linux环境下)
数组、栈(Linux环境下)源代码代码解释Linux环境下运行结果结果分析源代码/* Demonstration of buffer overflow */#include <stdio.h>#include <stdlib.h>/* Implementation of library function gets() */char *gets(char *de...
2019-05-29 23:40:56
150
原创 字符转换(Linux环境下)
字符转换(Linux环境下)源代码代码解释Linux环境下运行结果结果分析源代码/* Convert sequence of hex digits on command line into a string, terminated by \n */#include <stdio.h>int main(int argc, char *argv[]) { int i; ...
2019-05-29 23:19:03
328
原创 栈的分配(Linux环境下)
栈的分配(Linux环境下)源代码代码解释Linux环境下运行结果结果分析源代码/* Example of deep recursion */#include <stdio.h>#include <stdlib.h>int recurse(int x) { int a[1<<15]; /* 4 * 2^15 = 64 KiB */ ...
2019-05-29 22:51:38
314
原创 计算机内不同内存数据的存储(Linux环境下)
计算机内不同内存数据的存储(Linux环境下)源代码代码解释Linux环境下运行结果结果分析源代码#include <stdlib.h>#include <stdio.h>#include <unistd.h>static void show_pointer(void *p, char *descr) { // printf("Poin...
2019-05-28 22:32:12
307
原创 堆栈存储(Linux环境下)
堆栈存储(Linux环境下)源代码代码解释Linux环境下运行结果结果分析源代码#include <stdio.h>#include <stdlib.h>typedef struct { int a[2]; double d;} struct_t;double fun(int i) { volatile struct_t s; ...
2019-05-28 22:05:18
499
原创 计算机内部数据存储(Linux环境下)
计算机内部数据存储(Linux环境下)源代码代码解释Linux环境下运行结果结果分析源代码/* show-bytes - prints byte representation of data *//* $begin show-bytes */#include <stdio.h>/* $end show-bytes */#include <stdlib.h>#i...
2019-05-28 21:40:10
300
原创 浮点数运算(Linux环境下)
浮点数运算(Linux环境下)源代码代码解释Linux环境下运行结果结果分析源代码#include <stdio.h>#include <stdlib.h>#include <string.h>#define BUFSIZE 256int main(int argc, char *argv[]) { char prefix[BUFSIZE];...
2019-05-28 20:30:33
949
原创 溢出(Linux环境下运行)
溢出(Linux环境下运行)源代码代码解释Linux环境下运行结果溢出分析源代码#include <stdio.h>#include <stdlib.h>int sq(int x) { return x*x;}int main(int argc, char *argv[]) { int i; for (i = 1; i < ar...
2019-05-28 19:57:45
281
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人