linux
文章平均质量分 53
DIY-GEEKER
若有恒,何必三更眠五更起;最无益,莫过一日曝十日寒
展开
-
jpegsrc.v6b.tar.gz,gd-2.0.33.tar.gz,libiconv-xxxx.tar.gz,libpng-xxxx.tar.gz安装方法
jpegsrc.v6b.tar.gz安装方法# tar -zxvf jpegsrc.v6b.tar.gz# cd jpeg-6b# ./configure --prefix=/usr/local/jpeg6 --enable-shared# make# mkdir /usr/local/jpeg6# mkdir /usr/local/jpeg6/incl转载 2012-10-05 21:17:37 · 2408 阅读 · 0 评论 -
堆和栈区别 生长方向
C++作为一款C语言的升级版本,具有非常强大的功能。它不但能够支持各种程序设计风格,而且还具有C语言的所有功能。我们在这里为大家介绍的是其中一个比较重要的内容,C++内存区域的基本介绍。C++内存区域分为5个区域。分别是堆,栈,自由存储区,全局/静态存储区和常量存储区。栈:由编译器在需要的时候分配,在不需要的时候自动清除的变量存储区。里面通常是局部变量,函数参数等。堆:由new分配的内转载 2014-05-12 21:04:41 · 764 阅读 · 0 评论 -
epoll和select区别
转http://blog.csdn.net/ysu108/article/details/7570571先说下本文框架,先是问题引出,然后概括两个机制的区别和联系,最后介绍每个接口的用法一、问题引出 联系区别问题的引出,当需要读两个以上的I/O的时候,如果使用阻塞式的I/O,那么可能长时间的阻塞在一个描述符上面,另外的描述符虽然有数据但是不能读出来,这样实时性不能满足要转载 2014-05-13 01:44:16 · 748 阅读 · 0 评论 -
如何查看通过tar压缩包中的内容
http://www.letuknowit.com/topics/20120405/how-to-view-the-contents-of-the-tar-package.html/ 在《Linux中的打包与压缩指令:tar》中介绍了tar指令如何生成打包文件(.tar文件)以及打包并压缩的文件(.tar.gz和.tar.bz2文件),姑且将这些文件通称为tar压缩包文件,本文就介绍如何查转载 2014-04-13 09:29:57 · 4079 阅读 · 0 评论 -
linux系统调用和库函数调用的区别
Linux下对文件操作有两种方式:系统调用(system call)和库函数调用(Library functions)。可以参考《Linux程序设计》(英文原版为《Beginning Linux Programming》,作者是Neil Matthew和Richard Stones)第三章: Working with files。系统调用实际上就是指最底层的一个调用,在linux程序设计里面就是底转载 2014-05-12 23:38:56 · 900 阅读 · 0 评论 -
内联函数和宏的差别是什么?
1 内联函数和普通函数相比可以加快程序运行速度,因为不需要中断调用,在编译时内联函数可以直接被镶嵌到目标代码中。而宏只是一个简单的替换。宏不是函数,而inline函数是函数。2 内联函数要做参数类型检查,而宏只是简单的替换。原创 2014-05-13 01:08:43 · 654 阅读 · 0 评论 -
linux如何查看一个进程的堆栈
http://blog.csdn.net/nanjingligong/article/details/8624739方法一:pstack pidNAME pstack - print a stack trace of a running processSYNOPSIS pstack pidDESCRIPTION pst转载 2014-06-02 12:11:02 · 921 阅读 · 0 评论 -
ubuntu 14.04 搭建Android开发环境
1、下载配置JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html,这里选择下载 Java SE 7u55,Linux 64位:jdk-7u55-linux-x64.tar.gz。进入下载目录,将JDK包放到 /opt/Java 目录下:[plain] vi转载 2014-06-20 21:51:27 · 822 阅读 · 1 评论 -
第四个驱动程序-tq2440
#include #include #include#include #include #include #include #include #include #include #include #include #include #include static struct class *thirddrv_class;static struct class_d原创 2014-08-16 23:21:12 · 706 阅读 · 0 评论 -
第5个驱动-tq2440
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include static struct class *forthdrv_class;static stru原创 2014-08-17 09:31:07 · 730 阅读 · 0 评论 -
ubuntu 循环登陆
这个问题是指,ubuntu登陆界面,输入了正原创 2014-10-06 10:39:10 · 906 阅读 · 0 评论 -
为什么我要如此频繁的重装linux系统
这个问题让我很难过。半年了,Linux重装了原创 2014-10-03 13:19:39 · 1117 阅读 · 0 评论 -
strdup
头文件:#include 定义函数:char * strdup(const char *s);使用man来看一下: The strdup() function returns a pointer to a new string which is a duplicate of the string s. Memory for the new string i原创 2015-03-15 10:03:10 · 1174 阅读 · 0 评论 -
条件变量&互斥锁的使用
线程间的同步技术,主要以互斥锁和条件变量为主. 这是为了避免多线程调度,对数据的修改产生不同步,从而导致条件变量失效的情况。 void *threadone(void *arg) { pthread_mutex_lock(&qlock); while(a<b) { pthread_co原创 2015-03-16 12:17:51 · 608 阅读 · 0 评论 -
不同平台编译选项出现的位置不同
Ubuntu:g++ -o spider bloomfilter.o confparser.o crc32.o dso.o hashs.o md5.o qstring.o sha1.o socket.o spider.o threads.o url.o -rdynamic -lpthread -levent -lcrypt -ldlcenos:g++ -o spider -rdyn原创 2015-03-12 12:41:22 · 633 阅读 · 1 评论 -
linux上localtime函数返回的指针
最近在做一个spider,封装的log宏如下:#define SPIDER_LOG(level, format, ...) do{ \ if(level >= g_conf->log_level) {\ time_t now = time(NULL); \ char msg[MAX_MESG_LEN]; \ char buf[32]; \ sprintf(msg, for原创 2015-03-14 09:17:35 · 1558 阅读 · 0 评论 -
僵死进程
僵死进程简而言之就是:子进程退出时,父进程并未对其发出的SIGCHILD信号进行适当处理,导致子进程停留在僵死状态等待其父进程为其收尸,这个状态下的子进程就是僵死进程。在fork()/execve()过程中,假设子进程结束时父进程仍存在,而父进程fork()之前既没安装SIGCHLD信号处理函数调用waitpid()等待子进程结束,又没有显式忽略该信号,则子进程成为僵死进程,无法正常结束,原创 2015-03-19 14:11:25 · 635 阅读 · 0 评论 -
ubuntu手动安装redmine并且设置成为开机启动
1. 安装redmine http://www.redmine.org/projects/redmine/wiki/RedmineInstall2. 设置开机启动创建并打开文件 vi /etc/init.d/redmine 内容如下#!/bin/sh## description: Auto-starts redmine# process转载 2014-05-12 23:43:42 · 1626 阅读 · 0 评论 -
Linux Shell编程入门
从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁。用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作。在Linux GUI日益完善的今天,在系统管理等领域,Shell编程仍然起着不可忽视的作用。深入地了解和熟练地掌握Shell编程,是每一个Linux用户的必修 功课之一。Linux的Shell转载 2014-04-12 15:06:37 · 496 阅读 · 0 评论 -
简单的递归
理解递归第概念,关键在于对堆栈的理解。原创 2014-05-10 21:54:35 · 707 阅读 · 0 评论 -
分段管理机制(虚拟地址转换到线性地址)
本文介绍保护方式下的段定义以及由段选择子及段内偏移构成的二维虚拟地址如何被转换为一维线性地址。 段定义和虚拟地址到线性地址的转换段是实现虚拟地址到线性地址转换机制的基础。在保护方式下,每个段由如下三个参数进行定义:段基地址(Base Address)、段界限(Limit)和段属性(Attributes)。段基地址规定线性地址空间中段的开始地址。在80386保护方式下,段基地址长32转载 2012-09-23 16:13:57 · 2864 阅读 · 0 评论 -
毕业后读过的一些技术书籍
1.《嵌入式linux应用开发完全手册》2.《鸟哥的私房菜》3.《linux c 一站式编程》4.《数据结构与算法分析》5《tcp/ip协议详解卷一》6《深入理解计算机系统》7. 《UNIX网络编程》8 《系统程序猿的成长计划》9. 《linux内核完全剖析》10 《韦东山视频》11.《机制而非策略》12.《代码之美》作为一个嵌入式工程师,里面的大部原创 2013-12-07 08:39:59 · 789 阅读 · 0 评论 -
linux中为何没有网卡设备文件
这个问题其实没有什么意思,知道了问题的答案能表明一个人技术水平有多高吗?不能!这个问题有答案以及有意义吗?答案都是没有!那我还为何一直对这 个问题死死揪住不放?这类问题可以提高一个人的素质以及了解一段关于网络和unix的历史,正是因为这些都很有趣,才如此值得关注。 在 unix中,一切io相关的实体都被抽象成了文件,之所以抽象成文件第一是为了接口统一,第二是为了操作统一,第三是为了策转载 2013-12-29 20:52:53 · 2582 阅读 · 0 评论 -
代码的一致性
之所以出现这个定义是因为系统要安全:内核要和用户程序分开.内核一定要安全.不能被用户程序干涉.但是有时候用户程序也需要读取内核的某些数据,怎么办呢?于是os将内核程序开辟一些可以供用用户程序访问的段.但是不允许用户程序写入数据.1.内核不用知道用户程序的数据.内核不用调用用户程序的数据.内核不用转移到用户程序中来.2.用户程序只能访问到内核的某些共享的段.我们称这些段为一致代码段转载 2013-12-29 11:55:13 · 1831 阅读 · 0 评论 -
特权级0的代码到特权级3代码的转移之IRET指令
由 于处于特权级0的代码不能直接把控制权转移到特权级3的代码中执行,但中断返回操作是可以的,因此当初始化GDT、IDT和定时芯片结束后,我们就利用中 断返回指令IRET来启动第1个任务。具体实现方法是在初始堆栈init_stack中人工设置一个返回环境,即把任务0的TSS段选择符加载到任务寄存 器LTR中、LDT段选择符加载到LDTR中以后,把任务0的用户栈指针(0x17:init_stack)和原创 2013-12-31 22:11:13 · 2128 阅读 · 0 评论 -
对 LSS init_stack,%esp 语句的分析
转自http://blog.csdn.net/tonutu/article/details/3268321LSS init_stack,%esp . . . .file 128,4,0init_stack:转载 2013-12-31 17:16:59 · 1202 阅读 · 0 评论 -
x86系统执行的第一条指令
当计算机系统上电开机或者按了机箱上的复位按钮时,CPU会自动把代码段寄存器CS设置为0XF000,其段基址被设置为0XFFFF0000,段长度设置为64KB。而IP被设置为0FFF0,因此此时CPU代码指针指向0XFFFFFFF0处,即4GB空间最后一个64KB的最后16字节处。--赵炯的《Linux内核完全剖析》,18页。看到这里,很多人都会有这样一个疑问:在系统上电开机时,CPU应该工原创 2013-12-18 22:30:09 · 2229 阅读 · 0 评论 -
内核阶段学习总结
其实之前就已经认真的读过《深入理解计算机系统》,尽管这本书已经写得非常的实用详细,但是一切总归是理论。没有代码,一切都如空中楼阁,不切实际。只有到最近阅读赵炯来时的《linux内核完全解析》,书中对代码的注释非常详细,对操作系统才有了质的的理解。于是有深深的感悟到,没有阅读源代码的学习是痛苦而没有成效的。于是有非常渴望看《linux内核源代码情景分析》。 不过这个不能急,毕竟软件是时间性非常强原创 2014-01-03 22:09:28 · 877 阅读 · 1 评论 -
UNIX网络编程 卷2 源代码使用
源代码可从这里下载:http://download.csdn.net/download/fksec/4654432使用方法参考这里:http://blog.sina.com.cn/s/blog_70b6ff9601013vjn.html原创 2014-01-04 15:39:13 · 670 阅读 · 0 评论 -
backtrace函数的原理
大家可以看到,被调用函数当前帧指针指向调用函数的帧指针的值,而帧指针的上一个地址(ebp+4)正好是被调用函数的返回地址,依次往上找,就可以找出对应进程的调用关系。原创 2013-12-22 17:36:06 · 2845 阅读 · 0 评论 -
linux实用命令
转自http://blog.csdn.net/bailin0007/article/details/17881325断断续续地自学linux已经有段时间了,这里总结下学到的知识点linux终端Alt+F2打开终端转到制定目录 cd 目录名返回上级目录 cd ..清屏 clear----------------------------------转载 2014-01-06 13:25:56 · 579 阅读 · 0 评论 -
在tq2440上搭建 韦东山 视频的环境
在tq2440上搭建韦东山视频的环境1.编译器用gcc-3.4.5, 韦东山视频自带的.路径: F:\IT图书\韦东山(第1期)\虚拟机及书的光盘(内核硬件实验等源码)\tools\arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2解压到虚拟机 /work/tools2.u-boot bootloader视频自带的u-boot是可以用的F转载 2014-01-26 00:19:25 · 1335 阅读 · 1 评论 -
linux内核0.12之MINIX文件系统初探
春节期间确实懒了,博客没有怎么更新。这节日快过了,心里却很不踏实,最近没学习啊。今天果断看点文件系统的知识。minix文件系统现在是很少用了,但是基本的东西还是不变的。本着占了茅坑就一定要拉的责任感,还是把看的东西写一写吧。基本上,一个硬盘可以如下分区:当然并非所有的硬盘都具有主引导扇区,这个要视情况而定(未必所有硬盘都具有引导功能)而minix操作系统的组成如下所示: 位原创 2014-02-04 21:56:13 · 1835 阅读 · 1 评论 -
数据缓冲区高速缓冲区学习总结1
转载:http://blog.chinaunix.net/uid-20729583-id-1884567.html下面所分析是linux早期内核的缓冲区结构,这里仅仅是为了用来了解缓冲区的基本应用,对于目前的2.6内核有着很大的区别,但是,从这里可以逐步地对linux内核进行深入学习。这里仅仅是一个简单的介绍。 一个缓冲头结构中标志了对应缓冲块的相关性质,采用缓冲头结构组来对转载 2014-02-08 10:12:07 · 2147 阅读 · 2 评论 -
setjmp和longjmp函数使用详解
非局部跳转语句---setjmp和longjmp函数。非局部指的是,这不是由普通C语言goto,语句在一个函数内实施的跳转,而是在栈上跳过若干调用帧,返回到当前函数调用路径上的某一个函数中。#include Int setjmp(jmp_buf env); 返回值:若直接调用则返回0,若从longjmp调用返回则返回非0值的longjmp中的val值Void long转载 2014-03-06 22:53:19 · 621 阅读 · 0 评论 -
例解gcc内嵌汇编(inline assembly)中&修饰符(modifier)的作用
转自:http://blog.csdn.net/bokee/article/details/7029353被gcc内嵌汇编中的&修饰符困扰了好久,一直不知道在输出列表(output list)中,=与=&有什么区别。今天找到了答案。 例1: int output; int a, b, c, d, e, f转载 2014-04-03 23:06:53 · 917 阅读 · 0 评论 -
【Linux学习】pthread_create主线程与创建的新线程之间退出关系
我们在一个线程中经常会创建另外的新线程,如果主线程退出,会不会影响它所创建的新线程呢?下面就来讨论一下。 1、 主线程等待新线程先结束退出,主线程后退出。正常执行。实例代码:[cpp] view plaincopyprint?#include "apue.h" #include pthread_转载 2015-03-24 10:43:43 · 912 阅读 · 0 评论