红联Linux门户

Linux帮助
  • 添加头文件apue.h

    2016-07-27 - 在学习《UNIX环境高级编程》(简称APUE)的过程中,会时不时地敲下书上的程序。 这是需要用到头文件 apue.h。 可以登陆http://www.apuebook.com/ 下载相应版本的源码,并解压 apue.h位于apue.2e/include目录下 error.c位于apue.2e/lib目录下(包含apue.h中错...

  • ijkplayer ffmpeg android独立编译

    2016-07-26 - ijkplayer中ffmpeg编译前会需要生成android standalone工具链,其他的编译步骤基本跟标准ffmpeg的编译相同。 其编译主要依赖两个脚本: (1)是顶级目录下config/module.sh (2)是android/contrib/tool/do-compile-ffmpeg.sh中关于cross compile相关的内容...

  • Python:判断操作系统类型

    2016-07-25 - 代码为: from platform import system def detect_os(): os = system().lower() if darwin in os: return MAC_OS_X elif windows in os: return WINDOWS elif linux in os: with open(/proc/version,r) as f: vers = f.read() if microsoft in vers.lower()...

  • linux与windows栈内存分配区别linux与windows栈内存分配区别

    2016-07-25 - 同样的一段代码: #includestdio.h int main(int argc, char **argv) { int i; int a[5]; for(i=0;i6;i++) a[i]=0; printf(hello word); return 0; } 在linux和windows上运行的结果是不同的。在windows上由于数组越界导致for进入死循环而没有输出,但在linux...

  • linux下如何实现全局跳转

    2016-07-25 - C语言中的goto语句只能实现函数中的局部跳转,并不能实现全局跳转。 查阅LinuxC 以后,简介如何实现及运用全局跳转(不同函数中的跳转) Linux 下的全局跳转的实现及其原理: 所用的函数及其头文件: setjmp.h setjmp(); longjmp() 在linux下的例子程序: #i...

  • Linux内核强制使用自配置的cmdlineLinux内核强制使用自配置的cmdline

    2016-07-25 - 开发过程中遇到一些问题,需要改cmdline。cmdline在不同的平台上有不同的改法,有的单独存在于一个分区中,有的使用的是uboot,需要在启动过程中中断启动并进行手动修改,也有的平台上使用的是uboot的变种读取配置文件获取cmdline,更甚至还有一些平台在sdca...

  • LINUX下SVN强制写LOG脚本

    2016-07-24 - #!/bin/sh REPOS=$1 TXN=$2 SVNLOOK=/usr/bin/svnlook #根据自己的svnlook目录填写 # check that logmessage contains at least 10 alphanumeric characters LOGMSG=`$SVNLOOK log -t $TXN $REPOS | grep [a-zA-Z0-9] | wc -c` if [ $LOGMSG -lt 10 ];#10是...

  • kaldi跑timit的注意事项

    2016-07-23 - 今天用kaldi跑了一天调了一天,真是累,遇到各种问题,每一个问题都自己找好久,还好有几位大神相助,非常感谢,下面总结一下: 1、首先要改数据集的路径,这个是必须的 2、irstlm 的错误问题,然后注意把extras下面的env.sh的关于irstlm的环境变量写到 tool...

  • python输出是省略号的问题

    2016-07-23 - 这个问题非常非常重要,搞了很久都没解决好,但是真的很简单很简单,如果你也是用的numpy array, 如果你也想得到输出矩阵的全部内容,而不是省略形式。 [[ 0.10284943 0.0959931 0.00076021 ..., -0.01035775 0.02561938 0.09741836] [-0.01446581 -0.042769...

  • PHP用ZipArchive打包指定文件到zip供用户下载

    2016-07-22 - Ubuntu需安装zlib: sudo apt-get install ruby sudo apt-get install zlib1g zlib1g.dev Windows需开启php_zip.dll 如果在 ...\php\ext\ 没有这个文件,可以到网上下载一个 然后修改 ...\php\php.ini ,找到 extension=php_zip.dll 去掉 ;,如果没有这行就...

  • 开发第一个Google Chrome浏览器插件开发第一个Google Chrome浏览器插件

    2016-07-22 - 使用一个简单的例子来介绍Chrome扩展插件的开发步骤。 Chrome浏览器是目前使用最广的浏览器,它的用户增长速度惊人,在短短几年就超越IE,成为用户最多的浏览器。Chrome浏览器的优势:速度快、稳定,还有强大的插件系统。 本网站访客浏览器统计: 开发者更倾...

  • 浅析Linux下的堆内存管理浅析Linux下的堆内存管理

    2016-07-22 - 最近在看一本叫《程序员的自我修养-链接.装载域库》(俞甲子,石凡,潘爱民著)这本书,不得不像大家安利这本书,从最基本的EFL文件到链接,再到装载,虽然现在还没看完,但是对程序的可执行文件和虚拟内存的布局有了进一步的了解,不得不说是一本好书。言归...

  • linux下内联函数实现浅析linux下内联函数实现浅析

    2016-07-22 - 首先我们来看看内联函数的相关解释: 1、引入目的:为了解决程序中函数调用的效率问题 2、优点:节省了函数调用时间,也就是说没有call指令(也就没有相关参数的压栈(push),跳转(jmp),返回(ret), 参数出栈(add $0x10,%esp)等等一系类的操作,可谓是节省了不...

  • Linux Mini CRT堆栈管理的实现解析Linux Mini CRT堆栈管理的实现解析

    2016-07-21 - 程序在运行过程中,对于堆内存的申请和释放主要是靠malloc()和free()两个函数实现,当然堆内存的管理方式有很多,在不同的操作系统平台上有不同的实现,在遵循MiniCRT(c运行时库)的原则下,我们将Mini CRT堆的实现归纳为以下几条: 1.实现一个以空闲链表...

  • 从汇编看c++对象在栈空间内的构造

    2016-07-21 - 我们知道,类对象是c++中很重要的一部分,那么它的大小以及构造方式在汇编代码中是如何实现的呢?在一个程序的虚拟进程空间中,类对象的分布是怎样的呢?它们的构造方式和普通的内置类型有什么区别?下面我们就一起从汇编的角度来看看编译器是如何实现类对象...

  • linux3.x内核如何强制卸载模块?linux3.x内核如何强制卸载模块?

    2016-07-20 - 一、问题现象: 在insmod时调用的init函数代码执行过程中出现oops,导致rmmod卸载失败,此时不得不重启目标板? 二、下面是《精通linux设备驱动程序开发》中模拟鼠标的输入设备驱动的内核模块vms.c代码: #include linux/fs.h #include asm/uaccess.h #inclu...

  • Linux上的一个Swift脚本示例

    2016-07-20 - 如果你在推特上关注了我们(@iachievedit)你就知道我们不仅做了很多 Swift 开源项目,还有做了一些操作系统和架构。我们决定做这个项目没有特别的原因,但是看着各个版本的 git 仓库最终整合一个工具感觉真是太棒了。 我们很高兴最终 Swift 能够取代 Linux...

  • Linux平台下MongoDB的C语言编程实例

    2016-07-19 - 下面讲述在Linux平台下MongoDB的C语言编程实例。 假设已经安装好了MongoDB。 1.下载MongoDB的C语言驱动并安装 这里下载的MongoDB的C语言驱动是 mongo-c-driver-1.3.5.tar.gz(https://github.com/mongodb/mongo-c-driver/releases)。 解压后打开mongo-c-dri...

  • 进程的终止exit函数

    2016-07-18 - 进程就像人的生命一样,有出生,也有死亡。我们可以通过fork或vfork函数来创建一个进程,同样也有方法来终止一个进程。 在linux中有两种进程终止方式:正常终止和异常终止。 正常终止有5种方式: (1)在main函数中执行return语句。 (2)调用exit函数。 (3...

  • Linux指定动态库路径

    2016-07-18 - linux指定动态库路径包括: 1.指定编译时动态库路径; 2.指定运行时动态库路径。后文提到的动态库路径都是指的是这两种路径。 众所周知,Linux动态库的默认搜索路径是/lib和/usr/lib(不管是编译还是运行都会默认搜索这两个路径)。动态库被创建后,一般都复制...

  • Linux下autoconf和automake使用Linux下autoconf和automake使用

    2016-07-18 - 作为Linux下的程序开发人员,一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便。一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了. 在本文中,将介绍如何使用autoconf和automake两个...

  • python代码覆盖率工具——coveragepython代码覆盖率工具——coverage

    2016-07-18 - 今天发现了一个好用的python代码覆盖率检查工具:coverage,可以高亮显示代码中哪些语句未被执行,哪些执行了,方便单测。 1.环境: Linux x86_64 (不能连外网) 2.下载: 上 https://pypi.python.org/pypi/coverage 下 coverage.tar.gz(我下的3.7.1) 3.安...

  • shell例程——解决redis读取稳定性shell例程——解决redis读取稳定性

    2016-07-18 - 问题背景:php读取线上redis数据,经常不稳定,数据响应时有时无。 解决方法:多次读取,每次读取所有上一次没读出的数据,直到全部获...

  • gcc -lm是什么意思?

    2016-07-17 - 今天看到书上出现gcc -lm 的选项,甚是不解,在网上查阅了一些资料,访问了一些论坛整理下。 初学linux和gcc,C代码调用math.h中的函数有问题,如sqrt函数。若如sqrt(3.0)则可以编译通过并运行正常,若如sqrt(n),这里n是定义好的double型变量,则不能编译通...

  • Linux下ELF可执行文件装载与运行

    2016-07-17 - 一、Linux下装载ELF可执行文件的过程 1、创建子进程 内核创建task_struct数据结构,继承父进程的虚拟地址空间(Virtual Memory Space,VMS)。 2、调用execve()系统调用执行指定的ELF文件 (1)调用内核态函数sys_execve(),动态申请一个linux_binprm数据结...

  • Linux环境下MakeFile文件编写

    2016-07-17 - 花了一天时间,把TLD算法的Linux环境搭建起来,尝试在摄像头中追踪自己的头像,欣喜之余,成就感更甚。很喜欢这个方向,以后也希望慢慢的能转到这个方向,慢慢积累,向大牛们靠近。 上学的时候为找工作,临时抱佛脚学过一段linux编程,今天写了一段代码,竟...

  • linux hard link和soft link(硬链接和软链接)的简单介绍

    2016-07-17 - 文件由何决定? 首先需要说明linux的文件的概念,我们如何分辨两个在linux里边的文件(以下简称文件)是不同的文件?由此就不得不说到一个东西,inode。 根据维基的定义: inode是指在许多类Unix文件系统中的一种数据结构。每个inode保存了文件系统中的一个...

  • linux僵尸进程和孤儿进程的简要介绍

    2016-07-17 - 进程? 即linux(类unix系统)对于运行的程序的一个抽象。 谈谈wait和waitpid wait和waitpid是linux支持的两种system call(系统调用),是父进程获取子进程状态的方式。 头文件: #include sys/types.h #include sys/wait.h 函数原型: pid_t wait (int *stat...

  • 关于命令行下java程序的jar打包与运行关于命令行下java程序的jar打包与运行

    2016-07-17 - 一、基本环境 1.jdk1.7 二、源程序 public class Father{ public Father(){ System.out.println(---father----); } } public class Child extends Father{ public static void main(String[] args){ new Father(); System.out.println(---------child----);...

  • linux系统调用分析 使用strace工具linux系统调用分析 使用strace工具

    2016-07-16 - test.c: #include stdio.h #include string.h #include unistd.h #include stdlib.h //using namespace std; #define MAX_PARA_NUMS 10 #define MAX_CHAR_EACH_PARA 256 /** 把带空格的input字符串 分割成几个不带空格的字符串 例如: input = ls /homg/din...

  • linux增加非标波特率的方法

    2016-07-15 - 1.内核修改 涉及到的内核文件包括driver/char/tty_ioctl.c和arch/xx/include/asm/termbits.h 在linux内核中,struct ktermios结构的c_cflags共有5个位用来标注波特率,其中位CBAUDEX表明使用的是POSIX标准波特率还是扩展波特率, POSIX规定了16个标准波特率,为B...

  • 驱动开发读书笔记.基于EASYARM-IMX283烧写uboot和linux系统驱动开发读书笔记.基于EASYARM-IMX283烧写uboot和linux系统

    2016-07-15 - 驱动开发读书笔记.基于EASYARM-IMX283 怎么烧写自己裁剪的linux内核?(非所有arm9通用) 手上有一块tq2440,但是不知道什么原因,没有办法烧boot进norflash或者nandflash;只好用另一块arm9(i.mx283a)来继续学习; 从开发教程上面可知,烧写uboot和Linux...

  • Linux启动新进程的三种方法Linux启动新进程的三种方法

    2016-07-13 - 程序中,我们有时需要启动一个新的进程,来完成其他的工作。下面介绍了三种实现方法,以及这三种方法之间的区别。 1.system函数-调用shell进程,开启新进程 system函数,是通过启动shell进程,然后执行shell命令进程。 原型: int system(const char *string...

  • 汇编语言使用转义字符实现简单的“全屏”文本输出汇编语言使用转义字符实现简单的“全屏”文本输出

    2016-07-11 - 这是一个运行在Linux下的、简单的汇编程序,使用NASM 2.11,展示了使用转义字符实现简单的全屏文本输出。 ; 可执行文件名: eatterm ; 版本: 1.0 ; 创建日期: 7/10/2016 ; 最后更新日期: 7/10/2016 ; 作者: Moonlight Poet ; 描述: 一个运行在Linux下的、简单...

  • Linux利器 直达常用目录 避免频繁cd切换目录

    2016-07-10 - 把源码复制到你的用户目录下的z.sh文件,然后用vim打开.bashrc这个目录,在最后添加source /home/yourname/z.sh。 然后回到shell执行:source .bashrc。这样这个东西就生效了。 比如运行cd /home/a/b/c/d 后,linux进入了d目录,然后输入 z 这是系统将保存路...

  • 《Linux内核分析》完成一个简单的时间片轮转多道程序内核代码《Linux内核分析》完成一个简单的时间片轮转多道程序内核代码

    2016-07-10 - 1.概要 上周我在网易云课堂上学习了孟宁老师的《Linux 内核分析》第二周的课程内容:操作系统是如何工作的?课程的重点内容就是介绍了函数调用堆栈的过程、Linux 中内联汇编的使用方法,以及一个基于 Linux 3.9.4 内核自己实现的时间片轮转多道程序内核。 本...

  • Linux系统调用内核源码分析Linux系统调用内核源码分析

    2016-07-10 - 什么是系统调用? 系统调用是应用程序与内核交互的一种方式。系统调用作为一种接口,通过系统调用,应用程序能够进入操作系统内核,从而使用内核提供的各种资源,比如操作硬件,开关中断,改变特权模式等等。首先,系统调用是一个软中断,既然是中断那么一般...

  • Linux内核源码中的container_of宏和offsetof宏分析

    2016-07-10 - 1.前言 今天在看 Linux 内核源码中有关链表数据结构时,遇到到 container 宏和 offsetof 宏,然后跳转到其定义处,发觉它的定义的形式好陌生并难以理解,所以就作此笔记记录一下。 2.offsetof 宏 2.1.宏的功能 offsetof 宏的功能就是获得结构体变量中的指定...

  • Linux应用程序之Helloworld入门Linux应用程序之Helloworld入门

    2016-07-10 - 对于初学者来说(本人就是),如何开始写第一个程序至关重要。有的时候一个简单的问题会严重影响到学习的积极性和自信心。 这里结合实际工作中的一些经验,总结方法步骤,对Linux下应用程序Helloworld入门做一个简单的介绍。不仅仅作为一个个人的小结,也希...

  • Linux下C语言实现文件遍历,支持嵌套和文件数量统计

    2016-07-10 - Linux命令行下有两个非常基本的命令,一个是ls,一个是tree,其分别能够列出当前目录下的文件和树形方式嵌套显示目录结构。 因为网络上有很多版本的文件遍历代码,代码都没有整理过,看起来也很累,这里正好有点时间汇总整理下,并做一个练习。 同时,对一些...