Linux/Unix
Andy001847
我步入丛林,是为了活得深刻。
展开
-
我的VI编辑器配置
" All system-wide defaults are set in $VIMRUNTIME/debian.vim and sourced by" the call to :runtime you can find below. If you wish to change any of those" settings, you should do it in this file (原创 2014-11-01 23:01:35 · 821 阅读 · 0 评论 -
Unix C (十一)
线程 1、理论和原理 1)主流的操作系统都是支持多进程的,每个进程的内部可以启动多线程完成代码的并行;每个线程的内部可以无限启动多线程。 2)线程是轻量级的,不拥有自己独立的内存空间,共享所在进程的相关资源(代码区/全局区/堆/文件状态/共享资源),线程拥有的只是一个独立的栈空间。 3)进程是重量级的,必须拥有自己独立的内存空间。 4)计算机执行代码必备CPU/内存,原创 2014-12-29 22:13:28 · 655 阅读 · 0 评论 -
Unix C (三)
存管理 程序是存在文件中的(硬盘),一个运行的程序是需要加载到内存中的,加载到内存中的程序叫进程。 STL --> 内存是自动分配和回收 | C++ --> new/delete,会调用malloc和free | C语言 --> malloc/free | Unix/Linux系统调用 -> brk/sbrk原创 2014-12-22 15:40:03 · 941 阅读 · 0 评论 -
Unix C (九)
进程间通信————IPC(Inter Process Communication)1、Unix/Linux系统基于多进程,进程和进程之间经常做数据的交互,这种技术称为进程间通信。2、进程间通信的方式:1)文件2)信号3)管道(最古老的IPC之一,目前较少使用)4)共享内存5)消息队列6)信号量集7)网络编程(socket)...其中共享内存、消息队列和信原创 2020-09-22 17:37:35 · 649 阅读 · 0 评论 -
Unix C (六)
文件锁: 1、当多个进程同时写一个文件时,有可能出现数据混乱,这个问题需要解决。解决方案:进程间的同步或文件锁。 2、文件锁就是当一个进程读写文件时,对其他进程进行读写的限制。 3、文件锁的结论:1)一个进程读,允许其他进程读,但不允许其他进程写。 2)一个进程写,其他进程既不能读也不能写。 4、文件锁是一个读写锁,包括读锁和写锁原创 2014-12-23 15:16:09 · 567 阅读 · 0 评论 -
Unix C (八)
信号(signal):1、信号是Unix/Linux系统中软件中断的最常用方式。2、中断就是中止当前正在执行的代码,转而执行其他代码。中断分为软件中断和硬件中断。常见信号中断:Ctrl+c段错误总线错误整数除0kill -9发送信号9子进程结束给父进程发信号信号的本质就是一个非负正数,Unix和Linux在信号上有区别。Unix是48个,Linux是64个,原创 2014-12-23 17:06:48 · 742 阅读 · 0 评论 -
Unix C (七)
进程: 1、程序和进程的区别。1)程序就是代码编译链接的成品(可执行程序)。程序是硬盘上的文件。2)进程就是运行在内存中的程序,一个程序可以启动多次,得到多个进程。3)CPU只能直接操作内存,不能直接操作硬盘,硬盘上的程序想要运行,程序必须先加载到内存中,变成进程。4)在日常生活中,为了跟客户交互,有时候也把进程成为程序。2、主流的操作系统都是多进程的,每个进程内部还可原创 2014-12-23 15:42:16 · 567 阅读 · 0 评论 -
Unix C (二)
库:便于团队开发程序,便于维护。 1、二进制形式目标模块的包。 a.o \ b.o -> abc.a---库 c.o / 2、库的分类:静态库和共享库(动态库)。 静态库:扩展名.a。库中所封装的二进制代码,在链接阶段被复制到调用模块中。 共原创 2014-12-22 01:10:50 · 898 阅读 · 0 评论 -
Unix C (四)
文件: 1、在Linux系统中,几乎一切都是文件。目录(使用vi目录名验证),内存(查看/proc/进程号/maps文件验证),硬盘(查看/dev文件可验证)以及其他的各种硬件设备都可以看成文件。比如:文件/dev/tty可以看成键盘和显示器。 2、在标准C中的文件操作:用FILE*代表fopen打开的一个文件;而在UC中用文件描述符(一个非负整数)代表打开一个文件。原创 2014-12-22 16:32:51 · 695 阅读 · 0 评论 -
Unix C (十)
网络编程: ip 地址 是网络中计算机的地址,和mac地址(网卡出厂地址/物理地址)联合 能够让网络找到计算机。用端口(port)定位一个进程。因此网络编程就是 ip+端口。 Unix系统中,几乎一切都可以看成文件。因此网络信息的交互就用文件的交互方式。 ip地址底层是整数,分为ipv4(4位ip)和ipv6(6位)。 对ip的描述方式一般使用点分十进制。4个或者6个 0-原创 2014-12-23 18:03:49 · 796 阅读 · 0 评论 -
Makefile简易教程
Makefile简介在软件开发中,make通常被视为一种软件构建工具。该工具主要经由读取一种名为“makefile”或“Makefile”的文件来实现软件的自动化建构。它会通过一种被称之为“target”概念来检查相关文件之间的依赖关系,这种依赖关系的检查系统非常简单,主要通过对比文件的修改时间来实现。在大多数情况下,我们主要用它来编译源代码,生成结果代码,然后把结果代码连接起来生成可执行文件或者库转载 2017-09-01 15:56:56 · 438 阅读 · 0 评论