自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (19)
  • 收藏
  • 关注

转载 linux下core文件调试方法

在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息)。使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数。1.core文件的生成开关和大小限制 (1)使用ulimit -c命令可查看core文件的生成开关。若结果为0,则表示关闭了此功能,不会生成core文件。 (2)使用ulimit -c filesize命令,可以限

2014-04-26 16:45:48 449

转载 结构体名问题

结构体名问题问题:#include struct {char a[3]; int b;}data={"he",10}; int main(void) {printf("%c %d",data); return 0;} 输出结果是 h 10 然后我改变代码 #include struct {char a[3]; char b[3];

2014-04-23 16:44:03 685

转载 对数组名取地址是什么?

这两天有人问以下有什么代码有什么不同?1 int array[100];2 3 memset(array,  0, sizeof(array));4 memset(&array, 0, sizeof(array));第3行和第4行有什么不同吗?其实从效果上来说是一样的,但是这里要注意 array 和 &array 的类型是不同的。array 相当于 &array

2014-04-23 16:27:00 706

转载 对数组名取地址是什么?

这两天有人问以下有什么代码有什么不同?第3行和第4行有什么不同吗?其实从效果上来说是一样的,但是这里要注意 array 和 &array 的类型是不同的。array 相当于 &array[0],而 &array 是一个指向 int[100] 的指针,类型是 int(*)[100]。以下代码可以看出这个不同: 1 #include stdio.h> 2

2014-04-23 16:23:46 476

转载 python字符串定义前面加r

在Python的string前面加上‘r’, 是为了告诉编译器这个string是个raw string,不要转意backslash '\' 。 例如,\n 在raw string中,是两个字符,\和n, 而不会转意为换行符。由于正则表达式和 \ 会有冲突,因此,当一个字符串使用了正则表达式后,最好在前面加上'r'。

2014-04-06 18:27:19 790

转载 Python文件夹与文件的操作

最近在写的程序频繁地与文件操作打交道,这块比较弱,还好在百度上找到一篇不错的文章我对原文稍做了些改动。有关文件夹与文件的查找,删除等功能 在 os 模块中实现。使用时需先导入这个模块,导入的方法是:import os一、取得当前目录s = os.getcwd()# s 中保存的是当前目录(即文件夹)比如运行abc.py,那么输入该命令就会返回abc所在的文件夹位置。

2014-04-06 17:52:01 346

转载 python和FTP

首先我们想用python写一个FTP客户端程序,基本步骤和伪代码如下:1 连接服务器2 登陆3 发出服务请求(有可能有返回信息4 退出    Python中对FTP的支持,导入ftplib模块from ftplib import FTPf=FTP(‘ftp.python.org’)f.login(‘anonymous’,’[email protected]’).

2014-04-06 15:49:32 701

原创 校园网高清视频下载器

请到以下网页进行具体查看,

2014-04-03 17:54:15 642

转载 del_timer和del_timer_sync

同add_timer函数相反,del_timer类的函数负责从系统的定时器管理队列中摘除一个定时器对象。del_timer和del_timer_sync的函数原型为:kernel/timer.c> int del_timer(struct timer_list *timer);  int del_timer_sync(struct timer_list *timer);  对于del_t

2014-03-21 18:04:28 4005

转载 HTTP协议的学习

HTTP报文格式HTTP报文是面向文本的,报文中的每一个字段都是一些ASCII码串,各个字段的长度是不确定的。HTTP有两类报文:请求报文和响应报文。请求报文一个HTTP请求报文由请求行(request line)、请求头部(header)、空行和请求数据4个部分组成,下图给出了请求报文的一般格式。  (1)请求行请求行由请求方法字段、URL字段和HTTP协议版本字

2014-03-06 11:08:35 451

转载 如何在CSDN博客中的所贴的代码进行【代码块】显示

笔者最近很喜欢在csdn发一些技术博客,可是看了别人的博客,有代码的地方总是可以显示出代码块,而自己贴上去的代码总是没有。刚开始还以为CSDN博客里面的编辑功能有,可是找来找去都没有找到。后来才发现原来需要自己在源码上进行修改的,现在显示成功了,将这种经验与大家分享。如何将自己的代码贴上去显示这种效果?方法很简单:【1】、将CSDN的博客编辑功能中找到【源代码】

2014-01-09 22:32:46 572

转载 Linux DM9000网卡驱动程序完全分析

[置顶] Linux DM9000网卡驱动程序完全分析本文转载自http://blog.csdn.net/ypoflyer/article/details/6209922说明1:本文分析基于内核源码版本为linux-2.6.31 说明2:本文在理解了linux中总线、设备和驱动模型的基础上加以分析代码 虽然Linux驱动程序应该是和具体的硬件平台分离

2014-01-09 14:12:36 731

转载 Linux网络配置 -- 各种配置文件及其作用篇

一. Linux平台下各种网络相关配置文件(RedHat Linux为例)-----------------------------------------------------------------------------------------------------------------------------------1. 文件/etc/hosts(1) 文件格式

2014-01-03 14:58:29 1722

转载 LDD3 之Makefile文件的分析

《Linux设备驱动程序(第三版)》。里面有个关于Module编译的Makefile#如果已经定义了KERNELRELEASE,则说明是从内核整体编译的Make中调用。在我的2.6.31内核的#Makefile中L357行有关于KERNELRELEASE定义:#KERNELRELEASE = $(shell cat include/config/kernel.release 2> /d

2014-01-03 13:10:50 718

转载 Linux设备驱动程序(LDD3)中snull的编译问题

本文转载自:http://blog.csdn.net/xiebiwei/article/details/6210887#snull_header_ops目录(?)[+]对LDD中snull程序,编译的时候会有许多问题,鉴于网上还没有合适的解决办法,做此总结,整理知识。本文在debian6.0上运行通过,内核版本为2.6.32。学习LDD中网络驱动程序部分,理解s

2014-01-02 20:21:01 857

转载 DM9000网卡驱动分析

原始出处:http://infohacker.blog.51cto.com/6751239/1221348Preface   内核源码版本:linux-2.6.18DM9000芯片   DM9000是一款高度集成低功耗快速以太网处理器,该芯片集成了MAC和PHY。DM9000可以和CPU直接连接,支持8位、16位和32位数据总线宽度。该芯片支持10M和100

2013-12-29 10:34:36 903

转载 网卡驱动·linux内核网络分层结构

原始出处:http://infohacker.blog.51cto.com/6751239/1221140   Linux内核对网络驱动程序使用统一的接口,并且对于网络设备采用面向对象的思想设计。   Linux内核采用分层结构处理网络数据包。分层结构与网络协议的结构匹配,既能简化数据包处理流程,又便于扩展和维护。内核网络结构   在Linu

2013-12-29 10:22:38 1075

转载 Linux中IS_ERR()函数的理解

在Linux源码中的fs部分,经常会碰到这样的函数(位于kernel/include/linux/fs.h):/* * Kernel>static>     retval = PTR_ERR(dir_page);    >IS_ERR()有一些妙处。内核中的函数常常返回指针,问题是如果出错,也希望能够通过返回的指针体现出来。所幸的是,内核返回的指针一般是指向页面的边

2013-12-25 22:06:39 901

转载 工作队列(workqueue) create_workqueue/schedule_work/queue_work

项目需要,在驱动模块里用内核计时器timer_list实现了一个状态机。郁闷的是,运行时总报错“Scheduling>一、workqueue简介workqueue与tasklet类似,都是允许内核代码请求某个函数在将来的时间被调用(抄《ldd3》上的)每个workqueue就是一个内核进程。workqueue与tasklet的区别:   1.tasklet是通过软中断实

2013-12-25 20:26:03 967

转载 linux工作队列和等待队列的区别

work queue是一种bottom half,中断处理的后半程,强调的是动态的概念,即work是重点,而queue是其次。wait queue是一种「任务队列」,可以把一些进程放在上面睡眠等待某个事件,强调静态多一些,重点在queue上,即它就是一个queue,这个queue如何调度,什么时候调度并不重要。对这2个容易混淆的队列做简单概念上的区别,怎么用? 等待队列

2013-12-25 19:19:14 661

原创 中断处理中不能睡眠的原因

这个问题实际上是一个老生常谈的问题,答案也很简单,Linux在软中断上下文中是不能睡眠的,原因在于Linux的软中断实现上下文有可能是中断上下文,如果在中断上下文中睡眠,那么会导致Linux无法调度,直接的反应是系统Kernel Panic,并且提示dequeue_task出错。所以,在软中断上下文中,我们不能使用信号量等可能导致睡眠的函数,这一点在编写IO回调函数时需要特别注意。在最近的一个项目

2013-12-25 14:55:44 2462

转载 C++中extern “C”含义深层探索

原文地址:http://www.cppblog.com/Macaulish/archive/2008/06/17/53689.html1.引言  C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定

2013-12-16 10:54:08 365

转载 各种排序算法的稳定性和时间复杂度小结

选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。冒泡法:  这是最原始,也是众所周知的最慢的算法了。他的名字的由来因为它的工作看来象是冒泡:  复杂度为O(n*n)。当数据为正序,将不会有交换。复杂度为O(0)。直接插入排序:O(n*n)选择排序:O(n*n)快速排序:平均时间复杂度log2(n)*n,

2013-12-16 10:52:20 432

转载 ARM中断及其处理

1,关于硬件部分的介绍。1.1ARM920T的中断两种中断模式:FIQ,IRQ。1.2几个寄存器SRCPND:请求中断的中断源。可以有多个位被置为1,可读可写,用完清0。只对irq模式有效。INTPND:当前正在执行的中断服务程序。只有一个为被置为1,可读可写,用完清0只对irq模式有效。INTMOD:某一位置1,则该位的中断源被设置为FIQ模式,否则为IRQ模式。INTMSK:某

2013-12-16 10:43:22 789

转载 linux驱动开发相关头文件说明

#include 是在linux-2.6.29/include/linux下面寻找源文件。#include 是在linux-2.6.29/arch/arm/include/asm下面寻找源文件。#include 是在linux-2.6.29/arch/arm/mach-s3c2410/include/mach下面寻找源文件。#include在linux-2.6.31_TX2440

2013-12-16 10:36:26 1034

转载 getaddrinfo函数

今天在看完APUE第16章:网络IPC:套接字后,就开始编写书中的示例代码,结果出现了问题:调用getaddrinfo函数时,返回错误:Servname not supported for ai_socktype,觉得很费解,就直接google之,发现下面这篇好文,不仅解决了问题,还使我更加理解了如何使用getaddrinfo来编写服务器/客户端程序。 原文地址:blog.csdn

2013-12-13 21:38:32 687

转载 linux 信号量

Linux信号量(semaphore)是一种互斥机制。即对某个互斥资源的访问会收到信号量的保护,在访问之前需要获得信号量。在操作完共享资源后,需释放信号量,以便另外的进程来获得资源。获得和释放应该成对出现。       获得信号量集,需要注意的是,获得的是一个集合,而不是一个单一的信号量。       #include        #include        #inclu

2013-12-11 18:45:40 639

转载 poll函数

poll函数起源于SVR3,最初局限于流设备。SVR4取消了这种限制,允许poll工作在任何描述字上。poll提供的功能与select类似,不过在处理流设备时,它能够提供额外的信息。  1.#include   2.  3.int poll(struct pollfd *fdarray, unsigned long nfds, int timeout);  4.

2013-12-08 20:11:30 400

转载 建议性锁和强制性锁

fcntl有强大的功能,它能够复制一个现有的描述符,获得/设置文件描述符标记,获得/设置文件状态标记,获得/设置异步I/O所有权,获得/设置纪录锁。当多个用户共同使用,操作一个文件的情况,Linux通常采用的方法就是给文件上锁,来避免共享资源产生竞争的状态。fcntl文件锁有两种类型:建议性锁和强制性锁建议性锁是这样规定的:每个使用上锁文件的进程都要检查是否有锁存在,当然还得尊重已

2013-12-08 19:23:38 608

转载 qt 的close和系统的close冲突。close(),close(fd)

系统函数使用::来调用,所以close(fd)应该这样:::close(fd);其他函数亦然。注意,别忘了加头文件:#include      /*Unix 标准函数定义*/          #include       /*文件控制定义*/

2013-12-06 11:07:26 1228

转载 守护进程,setsid()函数

守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是一种很有用的进 程。Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器inetd,Web服务器httpd等。同时,守护进程完成许多系统任务。比如,作业规划进程crond,打印进程lpd等。守护进程的编程本身并不复杂,复杂的是各种版本的Uni

2013-12-06 09:53:54 499

转载 dup() 和 dup2()函数的介绍

dup() 和 dup2()  2011-10-07 11:06:31|  分类:Linux学习心得 |  标签:dup  dup2  linux  c  |字号 订阅dup和dup2都可用来复制一个现存的文件描述符,使两个文件描述符指向同一个file结构体。#include int dup(int newfd);int dup2(int n

2013-12-05 18:51:08 457

转载 linux线程同步--条件变量

1. 相关函数                                                                                               #include        pthread_cond_t cond = PTHREAD_COND_INITIALIZER;       int    pthread_cond_

2013-11-26 15:03:34 451

转载 select,epoll,poll比较

select,poll,epoll简介selectselect本质上是通过设置或者检查存放fd标志位的数据结构来进行下一步处理。这样所带来的缺点是:1 单个进程可监视的fd数量被限制2 需要维护一个用来存放大量fd的数据结构,这样会使得用户空间和内核空间在传递该结构时复制开销大3 对socket进行扫描时是线性扫描

2013-11-23 09:48:51 597

转载 unix源码结构

apue.h在Fedora14下开发环境搭建学习linux有一段时间了,刚开始学Linux C 系统编程时用的书是,这本书感觉入门学习还不错,里面的程序易理解,但看了K&R的巨著,还是不太深厚(国人编书的经常犯的毛病)好像讲了什么、其实什么都没讲。这些天从网上买了一本《UNIX环境高级编程》。里面出现作者Rago自编的apue.h头文件,于是想从网上下载源码。网上搜了几篇,感觉按照参考文章

2013-11-18 18:46:35 2034

转载 setjmp和longjmp函数使用详解

非局部跳转语句---setjmp和longjmp函数。非局部指的是,这不是由普通C语言goto,语句在一个函数内实施的跳转,而是在栈上跳过若干调用帧,返回到当前函数调用路径上的某一个函数中。#include Int setjmp(jmp_buf  env);   返回值:若直接调用则返回0,若从longjmp调用返回则返回非0值Void longjmp(jmp_buf env,

2013-11-18 15:56:47 516

转载 Linux内核中的进程组及会话

转自:http://shake863.javaeye.com/blog/187085  将阐述Linux内核中的如下几个概念 1) 进程组 2) 会话 3) 控制终端 1.概念: a)进程组 Shell 上的一条命令行形成一个进程组 每个进程属于一个进程组 每个进程组有一个领头进程 进程组的生命周期到组中最后一个进程终止, 或加入其他进程组为止 

2013-11-14 21:42:42 469

转载 C++中extern “C”含义深层探索

1.引言  C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有明显的不

2013-11-14 11:05:12 455

转载 ARM(S3C2440 )下解决的非法指令问题(Illegal instruction)

最近在学习和做项目的时候需要搭建s3c2440的环境,遇到了一些问题(非法指令)和大家分享一下修正错误的过程。一、我先介绍一下我们的实验环境:内核版本:kernel-2.6.27-android_ok编绎器:arm-2010q1-202-arm-none-linux-gnueabi硬件:(S3C2440) 支持armv4t 指令, busybox版本:busybox-1.1

2013-11-13 20:14:43 2001

原创 yaffs2 文件系统:Kernel panic - not syncing: Attempted to kill init!

在内核挂载根文件系统时,提示Kernel panic - not syncing: Attempted to kill init!的解决方法: 方法1:Kernel Features  --->[*] Use the ARM EABI to compile the kernel                  [*]   Allow old ABI binaries to

2013-11-13 20:11:16 951

[rar文件] Ldd(linux设备驱动程序) snull修改文件

修改过的LDD snull.c,编译成功。 使用方法:可以直接覆盖makefile和snull.c。也可以只将patch文件拷到snull/下,运行patch -p1 < snull_2.6.32.patch。 该压缩文件包含snull.c,snull.h,Makefile,snull.ko,snull_2.6.32.patch文件。

2014-01-02

AT24C02驱动

在linux系统上面实现的at24c02的设备驱动,利用IIC设备总线架构完成的,在相关开发板文件中注册IIC设备,再安装该文件编译所得的模块即可。

2013-12-28

平台总线架构按键驱动

linux设备驱动,利用platform总线架构写的按键驱动,同时使用到input子系统实现。

2013-12-28

linux下C编程 快速入门经典

linux系统入门书籍,介绍很详细,快速入门linux C编程。 主要有以下内容: 第一章 基础知识 第二章 进程介绍 第三章 文件操作 第四章 时间概念 第五章 信号处理 第六章 消息管理 第七章 线程操作 第八章 网络编程 第九章 Linux 下C 开发工具介绍

2013-12-28

数据库课程设计,学生管理系统,sql

数据库课程设计,基于sql数据库,管理系统,功能完善,界面漂亮。

2012-10-19

C++课程设计,学习成绩管理系统

C++课程设计,学生成绩管理系统,包含代码和文档,绝对有用。

2012-08-16

电路实习报告

计算机电路,数字电路的实习报告,包含详细的实习过程,设计,画图,焊接,调试等。

2012-07-22

计算机网络 第五版

计算机网络,谢希仁的最新版,可供在校学生,开发人员参考,是一本很不错的书。

2012-07-22

数据结构课程设计

数据结构课程设计,文档百分之百有效,代码绝对能够运行,有关哈弗曼编码对字符串的加密解密,以及各个字符的哈弗曼编码的得到等。

2012-07-17

数据结构学习笔记

数据结构的学习笔记,对初学数据结构的读者有很好的帮助。

2012-02-29

arm6410开发板硬件手册

介绍了6410 的详细资料,以及硬件的部分知识,还包括相应的电路图……

2011-11-18

wince启动流程

wince的开发,以及启动流程,让你充分学习驱动的结构……

2011-11-18

arm中NAND FLASH的应用 eboot的启动

介绍了eboot的启动流程,以及arm驱动,很值得学习!

2011-11-18

模拟的串口调试助手,VC编程

模拟,串口调试助手,VC编程,包括画出所采集的图像,形象实用,内部还包含许多实用的类。

2011-09-04

虚位的万能餐饮管理系统,适用于各个场合

万能的餐饮管理系统,包括登入的对话框,里面包含各种功能服务!适用于各种场合!

2011-08-10

自己编的音乐播放器,内部包含了很多功能!

包括音乐播放,打开文件,发送到移动盘,显示歌词等等功能!

2011-08-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除