Linux
mandagod
这个作者很懒,什么都没留下…
展开
-
Ubuntu升级磁盘空间不足时清理boot分区
安装Linux系统的时候给/boot分配的空间常常有一两百M,就像我的Ubuntu系统boot空间给200M,其实已经足够了。Ubuntu在进行升级的时候,出现了磁盘空间不足的错误提示,这是就需要对boot分区进行清理。查看系统现有内核$ dpkg –get-selections|grep linux-image linux-image-3.13.0-57-generic in原创 2015-07-30 10:31:30 · 7059 阅读 · 0 评论 -
Source Insight 3.X utf8支持插件震撼发布
Source Insight 3.X utf8支持插件震撼发布继上次SI多标签插件之后,因为公司内部编码改为utf8编码,因此特意做了这个Source Insight 3.X utf8插件.下载地址:[点我] 安装说明:解压msimg32.dll sihook.dll siutf8.dll 到Source Insight 3.X安装目录msimg32.dll 引导程序(转载 2016-12-11 21:04:02 · 1363 阅读 · 1 评论 -
64位Ubuntu14.04 RTX安装
1.PlayOnlinux的安装wget -q "http://deb.playonlinux.com/public.gpg" -O- | sudo apt-key add -sudo wget http://deb.playonlinux.com/playonlinux_trusty.list -O /etc/apt/sources.list.d/playonlinux.listsudo a转载 2016-12-12 12:13:57 · 967 阅读 · 0 评论 -
最快速在ubuntu下安装Oracle(Sun) JDK的方法
使用下面命令安装就行,中途会有两次同意协议的ok要选择。sudo add-apt-repository ppa:webupd8team/javasudo apt-get updatesudo apt-get install oracle-java8-installersudo apt-get install oracle-java8-set-default最后用j转载 2016-12-13 19:08:01 · 540 阅读 · 0 评论 -
LINUX - socket编程(转载)errno.h- -
errno.h- - 查 看错误代码errno是调试程序的一个重要方法。当linuc C api函数发生异常时,一般会将errno变量(需include errno.h)赋一个整数值,不同的值表示不同的含义,可以通过查看该值推测出错的原因。在实际编程中用这一招解决了不少原本看来莫名其妙的问题。比较 麻烦的是转载 2016-12-09 10:01:25 · 296 阅读 · 0 评论 -
【Ubuntu】更新系统时出现Hash校验和不符的错误(已解决)
【Ubuntu】更新系统时出现Hash校验和不符的错误(已解决)在使用 sudo apt-get update && sudo apt-get upgrade 命令更新系统时出现类似这样的错误信息:W: 无法下载 bzip2:/var/lib/apt/lists/partial/mirrors.ustc.edu.cn_ubuntu_dists_quantal-updates_main_转载 2017-01-01 22:39:13 · 11077 阅读 · 1 评论 -
Valgrind介绍
Valgeind的官网:http://valgrind.org/安装1. 在各个Linux发行版中直接可以从软件库中进行安装,这个工具很普遍了。例如Ubuntu里可以从新立得或者sudo apt-get install valgrind直接安装。默认的软件库里有一个Alleyoop图形的内存泄露检测工具,它是Gnome图形化的开发,用了valgrind的库。2原创 2016-12-17 22:51:25 · 554 阅读 · 0 评论 -
Ubuntu 16.04 LTS连接无线上网慢的解决
装了Ubuntu 16.04 LTS后连接无线上网,发现出奇的慢。网上查找亲测有效的方法为:1、在终端运行:sudo gedit /etc/modprobe.d/iwlwifi.conf2、在打开的这个配置文件中空白处添加:options iwlwifi 11n_disable=13、保存文件并重启。(本人已成功)原英文版:Ok.In terminal run:转载 2016-12-31 23:27:52 · 1744 阅读 · 0 评论 -
Linux中的文件i节点
linux文件系统是Linux系统的心脏部分,提供了层次结构的目录和文件。文件系统将磁盘空间划分为每1024个字节一组,称为块(也有用512字节为一块的,如:SCOXENIX)。编号从0到整个磁盘的最大块数。 全部块可划分为四个部分,块0称为引导块,文件系统不用该块;块1称为专用块,专用块含有许多信息,其中有磁盘大小和全部块的其他两部分的大小。从块2开始是i节点表,i节点表中含有i转载 2017-12-20 10:26:46 · 5667 阅读 · 0 评论 -
创建动态库时,建议使用的链接选项Bsymbolic
题外话:最近了解了一种轻量级标记语言,叫做Markdown.可以使用Markdown易读的文本格式,然后将其转换为HTML格式。虽然才知道,发现这个语法已经在无处不在了,著名的stack overflow发帖,以及一些wiki,或者一些博客都支持这种语法编辑了。OK,那么博主,这次也尝试下,本次博客采用的是MarkDownPad编辑器编写。问题描述回归正题,前段时间项目开发中,实现了一个动态库,封...转载 2018-03-21 09:59:08 · 264 阅读 · 0 评论 -
linux下动态库的符号冲突、隐藏和强制优先使用库内符号
在同客户做对接时遇到了符号冲突的问题。我司为客户提供sdk包供开发使用,就是几个so文件,在so文件中我司封装了tinyxml2这个库,客户再做开发时也时候用了tinyxml2这个库,但是所使用的版本是不同的,造成了再运行时,会崩溃。应该是在程序运行时,先加载了他们的tinyxml库,然后我们的sdk在寻找tinyxml库的相关符号是找到的是他们库的符号。 SIGSEGV : 段错误16 stac...转载 2018-03-21 10:02:09 · 1226 阅读 · 0 评论 -
Ubuntu 16.04 Oracle JDK8安装
~$ sudo apt-get install software-properties-common~$ sudo add-apt-repository ppa:webupd8team/java~$ sudo apt-get update~$sudo apt-get install oracle-java8-installer~$ java -versionjava version "1.8.0_...原创 2018-04-06 23:26:16 · 874 阅读 · 0 评论 -
Ne10库编译使用
介绍Ne10是一个单独的开源库,可以把它直接嵌入到工程里面去(目前支持linux,android,ios),直接调用里面的函数。Ne10已实现一些接口,可分为4个模块:dsp、math、imgproc、physics。比如dsp中目前就已封装了fft,fir,irr算法函数接口,用户直接调用这些接口函数就可以实现相应算法。 math 数学模块:主要包含矢量/矩阵数学运算。 dsp 数字信号...转载 2018-09-05 10:38:14 · 1497 阅读 · 2 评论 -
vim 使用tip
vim 使用tip 编写python程序自动插入头信息: #!/usr/bin/env python # coding=utf-8 输入.或按TAB键会触发代码补全功能 :w保存代码之后会自动检查代码错误与规范 按F6可以按pep8格式对代码格式优化 按F5可以一键执行代码 多窗口操作使用:sp + 文件名可以水平分割窗口使用:vs + 文件名可以垂直分割窗...转载 2019-01-14 11:16:40 · 135 阅读 · 0 评论 -
Linux下进行硬盘挂载、分区、删除分区,格式化,卸载方法
本文简单介绍了下文件系统及其操作(df命令),磁盘分区、格式化,还有最主要是挂载操作。在这里对“挂载”做个说明,我们都知道文件系统是创建在磁盘上面的,每个文件系统都有独立的inode、block等信息,而这个文件系统要能连接到目录树才能被我们访问。将文件系统与目录树产生关联的操作我们就成为挂载。即将文件系统挂载到某个目录下,该目录为进入该文件系统的入口。一. 创建分区先查看下是否...转载 2019-01-14 16:28:53 · 1688 阅读 · 0 评论 -
alsa生成/dev/snd/下设备节点函数调用流程
alsa生成/dev/snd/下设备节点函数调用流程snd_soc_register_card()-> snd_soc_instantiate_card()-> snd_card_register()-> snd_device_register_all()-> dev->ops->dev_register()->(函数指针) ...转载 2019-01-29 18:24:23 · 679 阅读 · 0 评论 -
Linux ALSA驱动框架(二)--PCM设备的创建
PCM设备的创建(1)PCM是什么 PCM是英文Pulse-code modulation的缩写,中文译名是脉冲编码调制.我们知道在现实生活中,人耳听到的声音是模拟信号,PCM就是要把声音从模拟转换成数字信号的一种技术,他的原理简单地说就是利用一个固定的频率对模拟信号进行采样,采样后的信号在波形上看就像一串连续的幅值不一的脉冲,把这些脉冲的幅值按一定的精度进行量化,这些量化后的数值被连续地...转载 2019-01-30 20:05:08 · 324 阅读 · 0 评论 -
Linux高级文件操作 -6
比较poll()和epoll()poll()已经很好地标准化,但是不具有很好的扩展性,但是epoll仅仅在Linux上扩展得比较好。当有少量的文件描述符,并且移植性重要的时候,应该使用poll()。 当有大量的文件描述符,epoll是更好的选择。/* poll-vs-epoll.c - Compares the performance of \codefn{poll()} and \codefn{原创 2016-10-16 11:48:40 · 330 阅读 · 0 评论 -
Linux高级文件操作 -5
使用epoll()进行多路传输Linux2.6之后引进的epoll解决了poll和select共有的性能瓶颈。使用epoll的时候,应用程序通过系统调用给内核提供了一个需要监控的文件描述符列表,然后使用另外一个不同的系统调用来监控这些文件描述符。一旦这个文件列表被创建,内核根据应用程序所关心的事件而不断地监控哪些文件描述符,内核实际上每个文件上都设置了毁掉函数,当事件发生的时候,回调函数就会被调用。原创 2016-10-16 11:22:22 · 332 阅读 · 0 评论 -
Ubuntu下Thunderbird和exchange配置
1 Tools => Add-ons => 搜索 "exchange"2 安装 "ExQuilla"3 Tools => 启动"ExQuilla for Microsoft Exchange" => "Add Microsoft Exchange account"4 填写邮箱地址和密码, 其他默认, 然后下一步5 直接点 "do auto discover", 出现两个绿色的小原点原创 2015-08-31 10:53:32 · 3746 阅读 · 0 评论 -
强大的vim配置文件,让编程更随意
花了很长时间整理的,感觉用起来很方便,共享一下。我的vim配置主要有以下优点:1.按F5可以直接编译并执行C、C++、java代码以及执行shell脚本,按“F8”可进行C、C++代码的调试2.自动插入文件头 ,新建C、C++源文件时自动插入表头:包括文件名、作者、联系方式、建立时间等,读者可根据需求自行更改3.映射“Ctrl + A”为全选并复制快捷键,方便复制代码4....转载 2015-08-31 11:11:20 · 416 阅读 · 0 评论 -
Linux下大文件分割和小文件合并
就像Android中调试问题,有的时候Log连续保存会很大,这个时候进行分割就很好地处理文件了。在Linux下分割文件通过split工具进行,合并文件可以通过cat进行。split a. 可以按行数进行分割 split -l 500 big_file.txt new_fileb. 可以按文件大小分割 split -b 100m big_file.txt new_filecat cat原创 2015-08-06 12:47:18 · 2268 阅读 · 0 评论 -
eSpeak: Linux 文本转语音工具
eSpeak是一款 Linux 命令行工具,能把文本转换成语音。它是一款简洁的语音合成器,用C语言编写而成,它支持英语和其它多种语言。eSpeak 从标准输入或者输入文件中读取文本。虽然语音输出与真人声音相去甚远,但是,在你项目需要的时候,eSpeak 仍不失为一个简便快捷的工具。eSpeak 部分主要特性如下:提供给 Linux 和 Windows 的命令行工具从文件转载 2016-01-03 22:12:46 · 9210 阅读 · 0 评论 -
sed找到关键字所在行并将其前面的第一个字符删除
sed找到关键字所在行并将其前面的第一个字符删除:代码如下:sed -i '/httpd-vhosts/s/^#//' httpd.conf#Include conf/extra/httpd-vhosts.conf 说明:以 httpd-vhosts 为关键字找到这行,并将前面的第一个字符删掉,即将#删掉。原创 2016-03-04 16:53:09 · 5884 阅读 · 0 评论 -
水平触发和边缘触发的区别
水平触发(level-triggered,也被称为条件触发)LT: 只要满足条件,就触发一个事件(只要有数据没有被获取,内核就不断通知你)边缘触发(edge-triggered)ET: 每当状态变化时,触发一个事件 “举个读socket的例子,假定经过长时间的沉默后,现在来了100个字节,这时无论边缘触发和条件触发都会产生一个read ready notification通知应用程原创 2016-06-19 14:35:56 · 1256 阅读 · 0 评论 -
两种方法教你在Ubuntu下轻松关闭触摸板(TinkPad)
Ubuntu是一个以桌面应用为主的Linux操作系统,所以在使用时我经常的触碰到触摸板,这样会造成我们一些的麻烦,所以要如何的关闭触摸板呢?我们一起来看看吧! Ubuntu下如何关闭触摸板(TinkPad) 有以下两种方法: 第一种:1sudo rmmod psmouse 这个是禁用的2sudo modprobe psmouse 这个是启用的这个方法很便捷转载 2016-07-17 09:21:54 · 3303 阅读 · 0 评论 -
ubuntu14 apt-get 简单 安装 ffmpeg
sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next sudo apt-get update sudo apt-get install ffmpeg原创 2016-08-27 22:26:50 · 21299 阅读 · 1 评论 -
Linux进程间通信 -1使用信号
Linux两个进程间发送信号,通知事件,通过信号响应事件。传送的信息只限于一个信号值。此详细操作内容随后补充。原创 2016-10-23 11:45:01 · 400 阅读 · 0 评论 -
Linux进程间通信 -2信号量
最初有TA&T System V.2 UNIX系统引入,被称为System V IPC。信号量 : 用于管理对资源的访问。内存共享: 用于程序之间高效地共享数据。消息队列: 在程序之间传递数据的一种简单方法。信号量先来理解一下临界代码的含义,需要确保只有一个进程或者一个线程进入这个这个临界代码并拥有资源的独占访问权。(现场之间可以通过信号量semaphore或者互斥量控制临界区的访问,但是这原创 2016-10-24 19:52:11 · 669 阅读 · 0 评论 -
Linux进程间通信 -3内存共享
内存共享允许两个或多个不相关的进程,访问同一个逻辑内存,共享内存的具体实现,由不同进程之间共享的内存安排为同一物理内存。 过个进程就像通过malloc获取的内存一样去使用,但是需要额外的小消息来同队内存的访问。可以通过信号量,传递消息(消息队列),生成信号来同步对内存的访问。1 shmget #include <sys/ipc.h> #include <sys/shm.h原创 2016-10-25 11:33:43 · 360 阅读 · 0 评论 -
Linux高级文件操作 -1
Linux中的文件备用来完成大量任务:正常的文件中保持久的数据通过套接字进行网络通讯通过设备文件来访问设备,,,多路输入输出阻塞I/O首先创建两个管道,命名p1和p2(使用mknod命令), 然后在两个终端分别运行cat > p1和 cat > p2。在第三个终端上运行程序mpx-blocks。 运行结果是在每个cat窗口键入文字输入,程序的表现是,在每一行输入结束前,两个cat窗口中的原创 2016-10-15 17:29:50 · 373 阅读 · 0 评论 -
Linux高级文件操作 -2
用poll实现多路传输系统调用poll(), 允许进程在多个文件描述符之间同时阻塞。 进程不再不断地检查每个它所关心的文件描述符,而是通过一个系统调用来指定读取或者写入哪个文件描述符。当有一个或者多个文件有数据可以读取或者可以写入时,poll()调用返回,应用程序就可以读写这些文件描述符而不用担心阻塞。 一旦应用程序处理了这些文件,进程就可以发起另一个poll()调用,一直阻塞,直到有一个文件做原创 2016-10-15 23:34:04 · 397 阅读 · 0 评论 -
Linux高级文件操作 -3
使用select的多路传输poll()系统调用最早是作为Unix书中System V部分被引入的,BSD 通过相似的办法引入seletct()系统调用,解决相同的问题。定义: /* According to POSIX.1-2001 */ #include <sys/select.h> /* According to earlier standards */原创 2016-10-16 00:14:27 · 432 阅读 · 0 评论 -
Linux高级文件操作 -4
比较poll()和select()超时timeout, poll()具有毫秒级别的精度,而select()具有微秒级别的精度,实际上,这个差别几乎没有任何意义,因为它们到微秒时候都不是很精确。select()时候,内核必须检查所有在0到numfds - 1之间的文件描述符,以发现应用程序是否对文件描述符所对应的I/O时间感兴趣。对于打开大量文件的应用程序,内核要检查哪个文件描述符是它感兴趣的,这原创 2016-10-16 10:01:10 · 509 阅读 · 0 评论 -
Linux查看文件和文件夹大小
ls -lhdu-shforder原创 2019-04-25 09:47:02 · 248 阅读 · 0 评论