Linux技术点滴
文章平均质量分 72
cy_weiyi
留下自己的青春
展开
-
linux下socket编程实例
linux下socket编程实例一、基本socket函数Linux系统是通过提供套接字(socket)来进行网络编程的。网络的socket数据传输是一种特殊的I/O,socket也是一种文件描述符。socket也有一个类似于打开文件的函数:socket(),调用socket(),该函数返回一个整型的socket的描述符,随后的连接建立、数据传输等操作也都是通过该socket转载 2015-05-03 10:24:00 · 622 阅读 · 0 评论 -
GDB调试从基础到精通实例
用GDB调试程序GDB概述————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一般来说,GDB主要帮忙你完成下面四个方面的功能: 1、启动你的程转载 2015-07-13 16:18:29 · 326 阅读 · 0 评论 -
Linux core dump详解
有的程序可以通过编译, 但在运行时会出现Segment fault(段错误). 这通常都是指针错误引起的.以下是我们详细的对Linux core dump的调试技术进行的介绍:1.Linux core dump 前言:有的程序可以通过编译, 但在运行时会出现Segment fault(段错误). 这通常都是指针错误引起的.但这不像编译错误一样会提示到文件->行, 而是没有任何信息, 使转载 2015-07-13 18:15:26 · 834 阅读 · 0 评论 -
linux下产生core文件以及不产生core文件的条件-----调试例程
linux下,产生core文件,和不产生core文件的条件:当我们的程序崩溃时,内核有可能把该程序当前内存映射到core文件里,方便程序员找到程序出现问题的地方。最常出现的,几乎所有C程序员都出现过的错误就是“段错误”了。也是最难查出问题原因的一个错误。下面我们就针对“段错误”来分析core文件的产生、以及我们如何利用core文件找到出现崩溃的地方。何谓core文件转载 2015-07-13 18:25:42 · 1022 阅读 · 0 评论 -
Linux下select函数的使用
一.Select 函数详细介绍 Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、 accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发 生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。转载 2015-07-14 15:23:56 · 301 阅读 · 0 评论 -
恢复 rm -rf * 误删数据
摘要 1. xen server上磁盘分区、格式化、挂载; 2. NFS server搭建、挂载远程目录; 3. 使用extundelete恢复数据;数据恢复目录[-]一、 将磁盘分区挂载为只读二、 使用数据恢复工具 extundelete1. 下载2. 编译三、 挂载新硬盘1 在xen上挂载一块磁盘给B2 登录服务器B, 准备挂转载 2015-07-29 15:30:49 · 1575 阅读 · 0 评论 -
S3C6410 MFC H264 编码流程分析
转自:http://blog.sina.com.cn/s/blog_65f6a0520100rgg7.html在代码分析开始前需要对一个概念进行解释,就是MFC。Multi Format Codec的缩写,是ARM微处理器内部一种支持多种硬件编码方式的硬件电路,能够编码/解码MPEG-4/H.263/H.264(30fps)等多种格式的多媒体影像。TOP6410开发板使用的是ARM转载 2015-07-18 10:56:41 · 646 阅读 · 0 评论 -
gdb+gdbserver调试arm-linux程序
引用:http://www.xxlinux.com/linux/article/accidence/install/20070531/8639.html我的环境:Fedora 14 虚拟机编译器:arm-linux-gcc-4.3.2开发板:TQ2440嵌入式Linux的GDB调试环境由Host和Target两部分组成,Host端使用arm-linux-gd转载 2015-07-18 14:40:36 · 457 阅读 · 0 评论 -
busybox的作用和功能
第一篇:1,busybox简介 busybox是一个集成了一百多个最常用linux命令和工具的软件,他甚至还集成了一个http服务器和一个telnet服务器,而所有这一切功能却只有区区1M左右的大小.我们平时用的那些linux命令就好比是分立式的电子元件,而busybox就好比是一个集成电路,把常用的工具和命令集成压缩在一个可执行文件里,功能基本不变,而大小却小很多倍,在嵌入转载 2015-07-19 10:59:01 · 37693 阅读 · 0 评论 -
Linux用户空间与内核空间
Linux 操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,两者不能简单地使用指针传递数据,因为Linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间指针时,对应的数据可能不在内存中。Linux内核地址映射模型x86 CPU采用了段页式地址映射模型。进程代码中的地址为逻辑地址,经过段页式地址映射后,才真正访问物理内存。段页式机制如下图。转载 2015-07-18 10:53:02 · 265 阅读 · 0 评论 -
H264编码原理以及I帧B帧P帧
前言 H264是新一代的编码标准,以高压缩高质量和支持多种网络的流媒体传输著称,在编码方面,我理解的他的理论依据是:参照一段时间内图像的统计结果表明,在相邻几幅图像画面中,一般有差别的像素只有10%以内的点,亮度差值变化不超过2%,而色度差值的变化只有1%以内。所以对于一段变化不大图像画面,我们可以先编码出一个完整的图像帧A,随后的B帧就不编码全部图像,只写入与A帧的差别,转载 2015-07-18 11:06:15 · 550 阅读 · 0 评论 -
用busybox制作文件系统
s3c2440上 移植yaffs2文件系统busybox-1.15.2编译器:arm-linux-gcc 4.3.2平台:某开发板(s3c2440)宿主:redhat 9.0 得到源码 busybox-1.15.2.tar.bz2在任意目录解压源码,在任意目录制作文件系统框架~!~!~!我是在用户模式下 家目录中解压的源码和制作的文件系统框架~!~!如图:转载 2015-07-19 13:32:27 · 339 阅读 · 0 评论 -
linux CGI编程
为什么要进行CGI编程? 在HTML中,当客户填写了表单,并按下了发送(submit)按钮后,表单的内容被发送到了服务器端,一般的,这时就需要有一个服务器端脚本来对表单的内容进行一些处理,或者是把它们保存起来,或者是按内容进行一些查询,或者是一些别的什么。没有了CGI,WEB的世界就完全失去了它的交互性,所有的信息都变成单向的了,而不能够有任何的反馈。 有的人认为可以用JavaScri转载 2015-07-30 20:44:10 · 488 阅读 · 0 评论 -
Linux0.11内核--进程的调度(就绪态和运行态之间的转换)
进程的调度linux系统中,一个进程有5种可能状态,在sched.c第19行处定义了状态的标识:#define TASK_RUNNING 0 // 正在运行或可被运行状态#define TASK_INTERRUPTIBLE 1 // 可被中断睡眠状态#define TASK_UNINTERRUPTIBLE 2 // 不可中断睡眠状态#define TASK_ZOMB转载 2015-07-20 11:20:27 · 2659 阅读 · 0 评论 -
多层级的makefile编写——递归调用makefile
文件层级结构:│ Makefile │ tmp │ ├─include │ public.h │ └─src ├─moda │ Makefile │ moda.c │ moda.h │ └─modb Makefile转载 2015-07-13 16:39:01 · 716 阅读 · 0 评论 -
gdb调试命令
gdb调试命令 本文主要参考自:http://www.cnblogs.com/zzx1045917067/archive/2012/12/26/2834310.html,进行了一点补充和编排;Core dump部分参考了:http://blog.ddup.us/?p=176。 gdb是一个在UNIX环境下的命令行调试工具。 如果需要使用gdb调试程序,请在gcc时加上转载 2015-07-13 12:51:18 · 442 阅读 · 0 评论 -
Segmatation fault 原由
Segmatation fault 段错误 今天在做图处理的过程中,因为需要动态申请内存 unsigned char *buf =malloc(sizeof(unsigned char)*100000); memset(buf,0,sizeof(unsigned char)*10000); memcpy(buf,srcbuf,length);原创 2015-05-11 08:53:29 · 1796 阅读 · 0 评论 -
linux 摄像头采集图像经过YUYV转YUV420再经过H264编码后通过Socket发送至服务器端
所需要使用到的知识点:1:摄像头采集数据 V4L2的使用方法。2:图像格式YUV422(YUYV)、YUV420像素点在内存的存储方式,并根据数据在内存中 的存储特点做出图像格式的转换 YUV422转YUV420。3:H264编码相关知识,并使用X264算法 完成YUV420帧数据编码至.H264格式4:Socket编程基本知识,将h264格式的帧数据发送原创 2015-05-11 09:10:02 · 1977 阅读 · 0 评论 -
JRTP库与JTHREAD库的编译与移植
操作环境:Host OS: Windows 7VMware Workstation:6.5.1Guest OS: Fedora 9 Develop Board: MINI2440Cross-Complier: ARM-Linux-GCC 4.3.2 关于jrtp的一些说明:说明1:jrtp有两种数据接收方式:第一种是用jthread库提供的线程自动在后台执行转载 2015-05-13 10:04:09 · 758 阅读 · 0 评论 -
ubuntu samba 服务器设置
安装 SAMBA 组件sudo apt-get install samba smbfs smbclientubuntu 14.04 使用以下方式安装:1234567若之前有安装过相关软件包,先卸载之:sudo apt-getautoremove samba samba-commonsudo apt-转载 2015-05-20 08:48:53 · 324 阅读 · 0 评论 -
嵌入式H.264移植
摘要: H.264提供比H.263和MPEG-4更高的压缩性能,使图像的数据量减少50%,有利于用有限的空间存储更多的图像数据;更好地支持网络传输,引入面向对象数据包的编码有利于将数据打包在网络中传输,支持流媒体服务应用;具有强的抗误码特性,以适应在噪声干扰大、丢包率高的无线信道中传输;对不同应用的时延要求具有灵活的适应性;编码和解码的复杂度具有可扩展性,支持编码和解码复杂度的不等分配转载 2015-05-07 08:11:05 · 607 阅读 · 0 评论 -
V4L2 所支持的视频图像格式
/* Pixel format FOURCC depth Description */#define V4L2_PIX_FMT_RGB332 v4l2_fourcc('R', 'G', 'B', '1') /* 8 RGB-3-3-2 */#define V4L2_PIX_FMT_RGB444 v4转载 2015-05-20 13:53:55 · 3236 阅读 · 0 评论 -
成功在mini2440上移植ffmpeg
2013-03-14 16:22 2218人阅读 评论(3) 收藏 举报http://blog.csdn.net/w7849516230/article/details/6761054在mini2440上,整个移植过程分三个步骤:(1)编译x264;(2)编译ffmpeg;(3)移植成功后,进行测试,即使用ffmpeg录像。(1)编译x264官网上下了个最新的x264,地址转载 2015-05-07 16:44:14 · 403 阅读 · 0 评论 -
小项目实用makefile
本文,主要总结一下小项目中的一种实用makefile写法,为个人项目或小型项目makefile提供参考。 1. 单个源码文件的makefile 常规的教程,或网上资料,都会以单个源码文件的makefile为示例,讲解makefile的最基本用法。它的用处,除了知道一下all、clean外,无它。 makefile,主要用于管转载 2015-05-19 10:53:17 · 329 阅读 · 0 评论 -
makefile的语法及写法
0 Makefile概述 -------------------------------------------------------------------------------- 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要转载 2015-05-19 10:32:23 · 252 阅读 · 0 评论 -
makefile的语法及写法(二)
3 Makefile书写规则 -------------------------------------------------------------------------------- 规则包含两个部分,一个是依赖关系,一个是生成目标的方法。 在Makefile中,规则的顺序是很重要的,因为,Makefile中只应该有一个最终目标,其它的目标都是被这个目标所连带出来的,所以一转载 2015-05-19 10:33:43 · 292 阅读 · 0 评论 -
项目实用makefile
在上一篇文章“小项目实用makefile”中,已经说明了单个makefile管理层次目录的局限性。本文,主要总结一下项目中的一种实用makefile树写法,为10来个人协作的中小型项目makefile编写,提供参考。 1. 需求 从实用角度,makefile树应该达到以下需求: 1)自动加入编译系统。新增目录、文件后,能够自转载 2015-05-19 10:53:03 · 412 阅读 · 0 评论 -
【Linux C 多线程编程】互斥锁与条件变量
一、互斥锁互斥量从本质上说就是一把锁, 提供对共享资源的保护访问。 1. 初始化: 在Linux下, 线程的互斥量数据类型是pthread_mutex_t. 在使用前, 要对它进行初始化: 对于静态分配的互斥量, 可以把它设置为PTHREAD_MUTEX_INITIALIZER, 或者调用pthread_mutex_init. 对于动态分配的互斥量, 在申请内存(mal转载 2015-07-26 12:32:05 · 332 阅读 · 0 评论 -
arm-linux --ADC驱动(中断方式)
硬件平台:FL2440内核版本:2.6.28主机平台:Ubuntu 11.04内核版本:2.6.39这个驱动写了好久,因为原来的Linux内核编译的时候将触摸屏驱动编译进内核了,而触摸屏驱动里的ADC中断在注册的时候类型选择的是 IRQF_SAMPLE_RANDOM,不是共享类型,所以,自己写的ADC驱动在每次open的时候,总提示ADC中断注册失败。 解决方案:重新配置内转载 2015-06-15 08:58:13 · 1655 阅读 · 0 评论 -
linux中断--中断下半部机制的使用&中断编程
linux中断--中断下半部机制的使用&中断编程2014-04-15 0 个评论 来源:linux中断--中断下半部机制的使用 & 中断编程 收藏 我要投稿中断程序一般会包含在某个设备的驱动程序中,因此,中断处理程序本质上还是一个内核模块。在上篇文章中也看到了一个简单的中断处理流程和内核模板的写法非常相似。但是那个中断是最简单的中断,没有用到转载 2015-08-06 17:21:30 · 467 阅读 · 0 评论