linux-系统编程
文章平均质量分 80
琰婧
努力学习。
展开
-
linux-ioctl函数
linux 内核 - ioctl 函数详解linux驱动开发学习笔记十九:认识一下ioctl函数[Linux]实现设备驱动的ioctl函数原创 2021-09-02 16:28:10 · 174 阅读 · 0 评论 -
linux-系统编程总结
1 linux常用命令linux目录结构以及常见目录的作用ls cp mv rm rmdir mkdir touch chmod chgrp chown which whoamitar zip rar find grep2 vim的使用: 命令模式 编辑模式 末行模式gcc的工作流程库的制作和使用:动态库加载的时候报错问题的处理:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./3 makefile和gdb调试目标:依赖(tab)命令函数 变量 伪原创 2021-07-26 15:15:58 · 99 阅读 · 0 评论 -
linux-线程同步
linux-线程同步学习目标:1 互斥锁1.1互斥锁的使用步骤1.2 练习1.3 死锁2 读写锁2.1 读写锁场景练习2.2 读写锁总结2.3 读写锁主要操作函数2.4 练习:3个线程不定时写同一全局资源,5个线程不定时读同一全局资源。3 条件变量3.1 条件变量相关函数3.1.1 pthread_cond_init()函数3.1.2 pthread_cond_destroy()函数3.1.2 pthread_cond_wait()函数3.1.3 pthread_cond_signal()函数3.2 使用条原创 2021-07-24 19:52:50 · 801 阅读 · 0 评论 -
linux-守护进程和线程
linux-守护进程和线程学习目标1 守护进程1.1 守护进程介绍1.2 进程组和会话1.3 创建守护进程的模型1.4 练习2 线程2.1 什么是线程2.2 线程共享资源2.3 线程非共享资源(重点)(重点)2.4 线程优、缺点2.5 pthread_create函数2.5.1练习题2.6 pthread_exit函数(重点)2.6.1练习:编写程序测试pthread_exit函数使一个线程退出。2.7 pthread_join函数(重点)2.7.1练习:编写程序,使主线程获取子线程的退出状态。2.8 pt原创 2021-07-23 18:08:30 · 1562 阅读 · 0 评论 -
linux-信号
学习目标了解信号中的基本概念熟练使用信号相关的函数参考文档使用信号集操作相关函数熟练使用信号捕捉函数signal熟练使用信号捕捉函数sigaction熟练掌握使用信号完成子进程的回收1 信号介绍信号的概念:信号是信息的载体,Linux/UNIX 环境下,古老、经典的通信方式, 现下依然是主要的通信手段。2 信号的机制进程A给进程B发送信号,进程B收到信号之前执行自己的代码,收到信号后,不管执行到程序的什么位置,都要暂停运行,去处理信号,处理完毕后再继续执行。与硬件中断类似——异步模式原创 2021-07-22 19:53:23 · 594 阅读 · 1 评论 -
linux-进程间通信
linux-进程间通信1 学习目标2 进程间通信相关概念2.1 什么是进程间通信2.2 进程间通信的方式3 管道-pipe3.1管道的概念3.2管道的原理3.3管道的局限性3.4创建管道-pipe函数3.5父子进程使用管道通信3.6 管道练习3.7 管道的读写行为3.8 如何设置管道为非阻塞3.9 如何查看管道缓冲区大小4 FIFO4.1 FIFO介绍4.2 创建管道4.3 使用FIFO完成两个进程通信5 内存映射区5.1 存储映射区介绍5.2 mmap函数5.3 munmap函数5.4 mmap注意事项5原创 2021-07-20 21:08:10 · 1311 阅读 · 5 评论 -
linux-进程控制
1 学习目标了解进程相关的概念掌握fork/getpid/getppid函数的使用熟练掌握ps/kill命令的使用熟练掌握execl/execlp函数的使用说出什么是孤儿进程什么是僵尸进程熟练掌握wait函数的使用熟练掌握waitpid函数的使用2 进程相关概念2.1 程序和进程程序,是指编译好的二进制文件,在磁盘上,占用磁盘空间, 是一个静态的概念.进程,一个启动的程序, 进程占用的是系统资源,如:物理内存,CPU,终端等,是一个动态的概念程序 → 剧本(纸)进程 → 戏(原创 2021-07-20 14:46:31 · 720 阅读 · 0 评论 -
linux-文件和目录
1 stat/lstat函数函数描述: 获取文件属性函数原型:int stat(const char *pathname, struct stat *buf);int lstat(const char *pathname, struct stat *buf);函数返回值:成功返回 0失败返回 -1struct stat { dev_t st_dev; //文件的设备编号 ino_t st_ino; /原创 2021-07-19 11:02:27 · 363 阅读 · 0 评论 -
linux-文件IO
linux-文件IO1 C库IO函数的工作流程2 C库函数与系统函数的关系3 虚拟地址空间4 pcb和文件描述符表1 C库IO函数的工作流程c语言操作文件相关问题:使用fopen函数打开一个文件, 返回一个FILE* fp, 这个指针指向的结构体有三个重要的成员.文件描述符: 通过文件描述可以找到文件的inode, 通过inode可以找到对应的数据块文件指针: 读和写共享一个文件指针, 读或者写都会引起文件指针的变化文件缓冲区: 读或者写会先通过文件缓冲区, 主要目的是为了减少对磁盘的读写原创 2021-07-16 19:24:17 · 184 阅读 · 0 评论 -
linux-Makefile
下面是Makefile的通用结构:#以'#'开头的行表示注释#定义变量VAR,强制赋值为appVAR=test#在VAR之前定义的值后面再追加app这个值,这时该变量值扩展为testappVAR+=app#如果之前VAR没有被定义,则定义并使用testapp;否则使用之前的值。VAR?=testapp# 第一条目标为总的目标,# 依赖可以是文件(目录)或为其他目标,依赖不是必须# 动作可以是Linux命令,动作的那一行必须以TAB键开头target: depend1 depend2原创 2021-01-29 17:26:03 · 391 阅读 · 0 评论 -
Linux 之 .bashrc 文件作用
巨人肩膀Linux 之 .bashrc 文件作用自己添加指令打开自己本地bashrc ~/.bashrc添加指令alias = cgrep = 'find . -name "*.c" | xargs grep -n "main"'Linux alias命令加载修改的设置source ~/.bashrc. ~/.bashrc原创 2021-07-16 14:29:09 · 139 阅读 · 0 评论 -
linux-静态库和共享(动态)库
linux-静态库和共享(动态)库1 库的介绍2 静态库(static library)2.1 静态库的制作2.2 静态库的使用2.3 静态库的优缺点3 共享库(shared library)/动态库3.1 共享库的制作3.2 共享库的使用4 比较静态库和动态库的优缺点1 库的介绍什么是库? 库是二进制文件, 是源代码文件的另一种表现形式, 是加了密的源代码; 是一些功能相近或者是相似的函数的集合体.使用库有什么好处? 提高代码的可重用性, 而且还可以提高程序的健壮性; 可以减少原创 2021-07-16 15:35:51 · 437 阅读 · 0 评论 -
linux-gcc编译器
1 gcc编译器1.1 gcc的工作流程gcc编译器将c源文件到生成一个可执行程序,中间一共经历了四个步骤:四个步骤并不是gcc独立完成的,而是在内部调用了其他工具,从而完成了整个工作流程, 其中编译最耗时, 因为要逐行检查语法.下面以test.c为例介绍gcc的四个步骤:gcc -E test.c -o test.igcc -S test.i -o test.sgcc -c test.s -o test.ogcc test.o -o test一步生成最终的可执行程序: gcc原创 2021-07-16 15:18:15 · 433 阅读 · 0 评论