Linux-C编程
文章平均质量分 97
C 语言是一种面向底层的编程语言,要写好 C 程序,必须对操作系统的工作原理非常清楚,因为操作系统也是用 C 写的,而服务端开发中使用最广泛操作系统的就是 Linux。
王清欢Randy
解决问题,担当责任,优雅生活。
展开
-
GDB 调试 Coredump
Core dump(核心转储)是指在程序运行过程中发生错误或异常时,操作系统将程序的内存内容保存到磁盘上的一种文件。这个文件包含了程序崩溃时的内存状态,包括变量的值、函数调用栈、寄存器状态等信息。通过分析 coredump 文件,可以了解程序崩溃的原因,以便进行调试和修复。原创 2023-09-20 08:00:00 · 8198 阅读 · 0 评论 -
GDB 基础使用与多进程调试
GDB 全称“GNU symbolic debugger”是 Linux 下常用的程序调试器,当下的 GDB 支持调试多种编程语言编写的程序,包括 C、C++、Go、Objective-C、OpenCL、Ada 等。原创 2023-05-28 08:00:00 · 10936 阅读 · 0 评论 -
Linux 用户管理与文件权限
Linux 是一个多用户系统,它允许多个用户同时登陆主机,并为他们分配不同的资源和工作环境进行使用。当然,不同的用户都有文件的私有需求,所以设置不同用户文件的权限管理十分重要。原创 2023-05-02 13:57:16 · 10340 阅读 · 2 评论 -
Linux线程同步与进程通信
线程同步与进程通信线程同步互斥量临界资源:在一段时间内只允许一个任务(线程或进程)访问资源。任务之间采用互斥的方式访问临界资源互斥量:pthread_mutex_t mutex; 初始化、加锁、解锁、销毁加锁:int pthread_mutex_lock(); int pthread_mutex_trylock();在访问临界资源前,对互斥量进行加锁。trylock()未加锁...原创 2020-02-27 18:00:48 · 7965 阅读 · 0 评论 -
Linux进程与线程
进程与线程进程进程基本概念进程:操作系统对程序的加载并运行的动态概念进程在内核中的组织形式:进程控制块PCB进程控制块的组织结构物理组织结构:进程pcb调度队列逻辑组织结构:进程创建过程中形成的前后逻辑树关系进程状态以及状态切换TASK_RUNNINGTASK_INTERRUPTIBLETASK_UNINTERTUPTIBLETASK_SOTPPED...原创 2020-02-27 17:59:13 · 7698 阅读 · 0 评论 -
Linux文件与目录操作
文件与目录操作LINUX文件系统 Linux中一切皆为文件,这样保证了操作的一致性 Linux文件系统是根目录结构,而Windows文件系统是多根目录结构 虚拟文件系统VFS super block超级块:对一个文件系统的描述 inode索引节点:对一个文件物理属性的描述 dentry目录现对象:对一个文件逻辑属性的描述 file文件对象...原创 2020-02-27 17:55:21 · 7795 阅读 · 0 评论 -
Linux基本命令
基本LINUX命令命令分类 文件目录类命令 进程控制类命令 用户和权限管理类命令 文件目录类命令浏览目录命令 ls:list 显示目录文件 pwd:print working directory 显示当前所在的工作目录 目录操作命令 cd:change directory 切换目录 mkdir:make directory ...原创 2020-02-27 17:53:33 · 7336 阅读 · 0 评论 -
Linux内核编译
Linux内核编译下载Linux内核源码Linux内核官方网站内核编译环境配置 sudo apt-get install libncurses5-dev openssl libssl-dev sudo apt-get install build-essential openssl sudo apt-get install pkg-config ...原创 2019-03-19 14:56:39 · 5193 阅读 · 0 评论 -
Linux添加系统调用
修改内核代码添加函数,添加函数声明以及添加系统调用id,来实现给自己编译的内核添加系统调用。当然这个过程是在编译内核之前完成的,内核编译过程请参照Linux内核编译添加系统调用进入解压的文件目录 cd /usr/src/linux-5.1/kernel在sys.c中添加函数 执行vim sys.c使用vim打开sys.c文件,未安装vim只需在终端执行sudo apt-get ins...原创 2019-05-09 21:47:35 · 8126 阅读 · 0 评论