
linux
szfhy
这个作者很懒,什么都没留下…
展开
-
linux线程异常保护
用多线程的时候要添加thread库, -lpthread 创建线程 create_thread 如果线程正常退出,不会存在问题。如果线程非正常退出,那么线程中申请的资源就不能正常释放,申请内存造成内存泄漏,锁和信号量等操作容易造成死锁。 利用保护机制可以避免上述问题: pthread_cleanup_push(); //要保护的操作 pthread_cleanu原创 2015-11-03 17:20:46 · 7909 阅读 · 0 评论 -
设置virtualBox共享文件夹和剪贴板
host主机为win7,虚拟机为ubuntu 安装增强功能时候,会提示强制释放cdrom中已经加载的虚拟盘,然后加载需要的盘。 有时候在加载光盘的时候会提示加载失败,我们弹出重新加载,仍然会有下面的错误 mount unknown filesystem type iso9660,这是因为没有iso9660文件系统,需要在你的虚拟机中安装对应的文件系统。 直接升级吧。 我用原创 2016-07-18 09:24:09 · 8549 阅读 · 0 评论 -
linux IPC 通信 study 一:管道
linux 进程通信机制:分为基于system V 和posix。 常用的通信方式分为: (1) 管道pipe和命名管道fifo. (2) 信号signal (3) 信号量semphore (4) 消息队列 msg queue (5) 共享内存share memory (6) 套接字socket 详解如下: 1.1. 匿名管道通信pipe,它把一个进程的输入和另外一个进程的输出原创 2015-11-03 17:41:10 · 6278 阅读 · 0 评论 -
linux IPC 通信 study 四:SYSTEM_V消息队列
linux 消息队列 分为两个标准,分别为SystemV消息队列,POSIX消息队列 SystemV消息队列原创 2015-11-03 17:45:20 · 6360 阅读 · 0 评论 -
linux IPC 通信 study 三:system v 信号量semphore
后面再补原创 2015-11-03 17:44:30 · 6304 阅读 · 0 评论 -
linux IPC 通信 study 三:POSIX 信号量
poxis原创 2016-12-25 10:13:45 · 6345 阅读 · 0 评论 -
linux IPC 通信 study 五:system v 共享内存
占位原创 2015-11-03 17:46:21 · 6132 阅读 · 0 评论 -
linux IPC 通信 study 四:POSIX消息队列
POSIX消息队列 API介绍 1,mq_open 2,mq_send/mq_timedsend 3,mq_receive/mq_timedreceive 4,mq_unlink 5,mq_close原创 2016-12-24 20:35:52 · 6207 阅读 · 0 评论 -
linux IPC 通信 study 五:posix共享内存
API介绍原创 2016-12-26 17:15:20 · 6241 阅读 · 0 评论 -
vim实用命令-学习笔记
分析log的过程中,删除不感兴趣的log: :g/key_word/d 一行log中如何含有关键字“key_word", 则将该行删除, g的作用是指定全篇log原创 2016-01-27 17:07:35 · 7043 阅读 · 0 评论 -
docker 学习笔记
安装 添加镜像源 首先安装apt-transport-https 支持https协议的源,并添加源的密钥: sudo apt-get install -y apt-transport-https sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A91289...原创 2018-08-16 14:39:11 · 643 阅读 · 0 评论 -
vim配置管理
原文地址: http://blog.163.com/023_dns/blog/static/1187273662012125112426472/ 我的vim IDE界面: 1、安装Vim和Vim基本插件 首先安装好Vim和Vim的基本插件。这些使用apt-get安装即可: lingd@ubuntu:~/arm$sudo apt-get install vim vim转载 2016-02-09 20:55:12 · 6242 阅读 · 0 评论 -
linux驱动学习一
使硬件工作的软件叫做driver 分为三大类:字符设备驱动,块设备驱动,网络驱动 主设备号:用来标识与设备文件相连的驱动程序。用来反映设备类型。 次设备号:用来区分驱动程序操作的是哪个设备。用来区分同类型的设备。 可以通过静态申请,动态分配两种方式来获取设备号。 静态申请:找一个没用的设备号,用register_chrdev_region函数注册设备号,优点是比较简单,缺点是驱动多原创 2015-11-03 17:49:45 · 6365 阅读 · 0 评论 -
linux IPC 通信 study 二:信号signal
信号是一种软中断,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。signal是ipc机制中唯一的异步通信机制。 信号事件的发生有两个来源: 硬件 比如键盘或者其他硬件故障。 软件 比如一些系统函数 kill raise alarm 或者其他一些非法运算等操作。 进程对信号的响应有原创 2015-11-03 17:42:25 · 6284 阅读 · 0 评论 -
git 学习笔记 一
一 安装 apt-get install git-core 二 基本应用 1. git init: | 创建一个新的仓库。 2. git clone: | clone 一个仓库。 3. git config | 添加自己的帐号信息。 git config --global user.name "yf123" git config --global us...原创 2015-11-03 17:17:19 · 474 阅读 · 0 评论 -
linux内核模块开发笔记一
内核模块开发: 如果将所有的组件都编译进内核,会造成内核文件过大,修改组件后,需要重新编译整个内核,效率比较低。内核模块就相当于补丁,在需要的时候才会起作用,模块本身不被编译进内核文件,在运行期间动态的添加和卸载。 模块加载函数: 安装内核模块时,内核模块加载函数被调用,通过module_init宏指定内核模块加载函数。 模块卸载函数: 卸载内核模块时,调用模块卸载函数,通过module原创 2015-11-03 17:50:46 · 6133 阅读 · 0 评论 -
linux内核内存管理学习笔记
内存管理: 物理地址出现在cpu外部地址总线上的寻址物理内存的地址信号 线程地址虚拟地址在32位cpu架构下4G地址空间中的地址 逻辑地址汇编中使用的地址 20位的虚拟地址如何存入16位的寄存器中呢 分段方式来实现 逻辑段的起始地址段地址必须是16的倍数,逻辑段的最大容量是64k 物理地址 = 段地址+段内偏移量 物理地址 = 段寄存器的值×16 + 逻辑地址原创 2015-11-03 17:51:28 · 6177 阅读 · 0 评论 -
ubuntu创建分区步骤
Ubuntu 创建分区步骤: Step1 创建 /boot分区分区格式为:ext3 大小为:100M Step2 创建 swap分区 分区大小为2倍于内存大小 Step3 创建 /目录大小20G Step4 创建 /home目录大小10G 在windows中用PQ工具删除Ubuntu分区,修复mbr 在C根目录下放置 Mbrfix.exe 进入Dos cd \ C:\ 输入原创 2015-11-03 15:07:02 · 7062 阅读 · 0 评论 -
网络TCP/UDP编程学习
Socket分为三种: 1. SOCK_STREAM TCP 2. SOCK_DGRAM UDP 3. SOCK_RAW 基于IP协议,用于新的网络协议的测试。 常用结构体: Struct sockaddr { U_shortsa_family;//协议族,AF_XXXX Charsa_data[14]; //14字原创 2015-11-03 17:03:44 · 6145 阅读 · 0 评论 -
vi常用命令
复制是把指定内容复制到内存的一块缓冲区中,而粘贴是把缓冲区中的内容粘贴到光标所在位置。 复制和粘贴的方法如下。 yw:将光标所在位置到字尾的字符复制到缓冲区中,y是yank的首字母。 nyw:将光标所在位置开始的n个字复制到缓冲区中,n为数字。 yb:从光标开始向左复制一个字。 nyb:从光标开始向左复制n个字,n为数字。 y0:复制从光标前一个字符到行首的所有字符。 y$:复制从光原创 2015-11-03 17:12:23 · 6062 阅读 · 0 评论 -
linux IPC 通信 study 六:套接字socket
稍后整理原创 2015-11-03 17:47:57 · 349 阅读 · 0 评论 -
vim 多个标签之间切换
gvim在命令行下输入 tabnew fn,可以重新打开一个标签。 当打开的文件多了之后,多个标签之间切换也挺麻烦的。 不过有快捷命令哦。 命令行下输入: gt 转到下一个tab gT 转到上一个tab [n]gt 向下 转n个tab [n]gT 向上转n个tab原创 2015-11-03 15:09:57 · 8723 阅读 · 0 评论 -
vim常用命令
H 或者 左箭头 光标向左移动一个字符 J 或者 下箭头 光标向下移动一个字符 K或者 上箭头 光标向上移动一个字符 L 或者 右箭头 光标向右移动一个字符 如果想多次移动的话,可以加数字如30j,则向下移动30个字符 Ctrl+f 屏幕向下移动一页,相当于Page down原创 2015-11-03 17:13:04 · 6001 阅读 · 0 评论 -
ubuntu 源码编译安装opencv
下载source code Sudo apt-get install cmake Sudo apt-get install libgtk2.0-dev Sudo apt-get install pkg-config 进入source code目录,/home/aaa/Project/opencv-3.4.0/ Mkdir build Mkdir install_opencv 将o...原创 2018-11-23 15:38:40 · 606 阅读 · 0 评论