t
xq972
这个作者很懒,什么都没留下…
展开
-
系统级I/O
输入/输出( I /O)是在主存和外部设备(例如磁盘驱动器、终端和网络)之间复制数据的过程。输入操作是从I/O设备复制数据到主存,而输出操作是从主存赋值数据到I/O设备。 Unix I/O 所有I/O设备(例如网络、磁盘和终端)都被模型化为文件,而所有的输入和输出都被当做对相应文件的度和写来执行。这种设备优雅地映射为文件的方式,允许Linux内核引出一个简单、低级的应用接口,称为Unix I/O,...原创 2019-12-07 21:22:27 · 105 阅读 · 0 评论 -
进程控制
fork函数 fork描述:创建进程 fork函数一次调用,两次返回。父进程中,fork返回子进程的PID。子进程中,fork返回0。若出错则返回-1。 每次用户向shell输入一个可执行目标文件的名字,运行程序时,shell就会创建一个新的进程,然后在这个新进程的上下文中运行这个可执行目标文件。应用程序也能创建新进程,并在这个新进程的上下文中运行他们自己的代码或其他应用程序。 父进程通过调用f...原创 2019-12-07 18:56:23 · 125 阅读 · 0 评论 -
链接
链接的概念 1.链接是将各种代码和数据片段收集并组合成为一个单一文件的过程,这个文件可被加载(复制)到内存并执行。 2.链接可以执行于编译、加载、运行时。 3.在现代系统中,链接由连接器自动执行。 具体操作 编译器驱动程序 测试代码1 //mismatch-main.c #include <stdio.h> long int x; /* Weak symbol */ int main...原创 2019-11-07 18:41:54 · 147 阅读 · 0 评论 -
数组、栈(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 · 119 阅读 · 0 评论 -
字符转换(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 · 288 阅读 · 0 评论 -
栈的分配(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 · 268 阅读 · 0 评论 -
计算机内不同内存数据的存储(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 · 276 阅读 · 0 评论 -
堆栈存储(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 · 455 阅读 · 0 评论 -
计算机内部数据存储(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 · 247 阅读 · 0 评论 -
浮点数运算(Linux环境下)
浮点数运算(Linux环境下)源代码代码解释Linux环境下运行结果结果分析 源代码 #include <stdio.h> #include <stdlib.h> #include <string.h> #define BUFSIZE 256 int main(int argc, char *argv[]) { char prefix[BUFSIZE];...原创 2019-05-28 20:30:33 · 891 阅读 · 0 评论 -
溢出(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 · 249 阅读 · 0 评论