自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (5)
  • 收藏
  • 关注

转载 epoll原理

epoll - I/O event notification facility在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且

2013-05-07 16:13:03 809

转载 [Linux]GNU自动化工具(automake工具链)

Filename : [Linux]GNU 自动化工具( automake 工具链)Version : V1.0Date : 12/01/2009Author : S.C.Leon =====================================================================GNU 自动化工具( automake 工具链)一、 M

2013-04-25 19:23:24 1342

转载 linux命令之-----------cut命令

1 一两句话描述一下cut命令吧!正如其名,cut的工作就是“剪”,具体的说就是在文件中负责剪切数据用的。cut是以每一行为一个处理对象的,这种机制和sed是一样的。(关于sed的入门文章将在近期发布)2 cut一般以什么为依据呢? 也就是说,我怎么告诉cut我想定位到的剪切内容呢?cut命令主要是接受三个定位方法:第一,字节(bytes),用选项-b

2013-04-25 18:33:03 718

转载 squidclient 使用方法

一.  squidclient 的使用查看帮助1squidclient -h2squidclient -p 80 mgr:3  4-h host      Retrieve URL from cache on hostname.  Defaul

2013-04-22 17:28:53 4930

转载 wget 用法

用wget下载一个目录,例如网站的 yourdir  wget -U “Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)” -r -p -k -np-Pmydir -nc -o down.loghttp://www.yourdomain.com/yourdir/index.html 如果要想下载整个网站,最好去除-np

2013-04-12 14:02:35 791

转载 Curl用法

curl用法示例(网络转载)1)  curl http://www.yahoo.com  回车之后,www.yahoo.com的html就稀里哗啦地显示在屏幕上了~~~~~2)  用curl的内置option,存下http的结果,用这个option: -o  curl -o page.html http://www.yahoo.com  可以看到屏幕上出现一

2013-04-12 11:39:53 1441

转载 VimTutor中文版

文章来源:http://waterxfire.blog.hexun.com/4106986_d.html================================================================================      欢     迎     阅     读   《 V I M  教  程 》   ——     版本 1.5

2013-04-12 08:30:11 9095

转载 Nginx配置文件nginx.conf中文详解

#定义Nginx运行的用户和用户组user www www;#nginx进程数,建议设置为等于CPU总核心数。worker_processes 8;#全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]error_log /var/log/nginx/error.log info;#进程文件

2013-04-10 10:15:52 689

转载 GCC 参数详解

[介绍] gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件[预处理器cpp] 2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs] 3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as] 4.连接目标代码,生成可执行程序[链接器ld] [参数详解] -x l

2013-02-19 17:52:20 643

转载 判断两个单链表是否相交(链表中可能有环的情况下)

原文链接:http://www.cppblog.com/zengwei0771/articles/172700.html题目描述:判断两个单链表是否相交,如果相交,给出相交的第一个点(链表中可能有环的情况下)这里是①判断单链表是否有环,并求出环的入口点;②判断两个链表是否相交(链表中无环),并求出相交节点 的文章 http://www.cppblog.com/humanchao/a

2013-02-18 11:23:05 2770

转载 判断链表是否有环及两链表是否相交

原文链接:http://blog.csdn.net/kevinzhangyang/article/details/6637503单向链表是最常用的数据结构之一,因此总结其常见的问题及其解决方案是很有意义的。 问题1:如何判断一个单向链表是否有环?如果有,如何找到其入口节点的指针?               算法思想:用两个指针p1,p2同时指向链表的头部,

2013-02-18 10:49:53 795

转载 用GDB查看core dump

原文链接:http://lanka83.blog.163.com/blog/static/32637615200801793020182/1. 前言:有的程序可以通过编译, 但在运行时会出现Segment fault(段错误). 这通常都是指针错误引起的.但这不像编译错误一样会提示到文件->行, 而是没有任何信息, 使得我们的调试变得困难起来.2. gdb:有一种办法是,

2013-01-30 10:07:01 776

原创 由ifstream想到的

在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符:1、插入器(  向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器,所以,cout2、析取器(>>)  从流中输入数据。比如说系统有一个默认的标准输入流(cin),一般情况下就是指的键盘,所以,cin>>x;

2012-12-14 16:16:27 706

转载 Tortoise SVN使用方法,简易图解

Tortoise SVN使用方法,简易图解      原文链接: http://blog.csdn.net/dily3825002/article/details/6717076 刚到公司实习,为了版本控制,我公司使用SVN控制版本,在此记下SVN使用方法,仅供参考!        废话少说,上图!----------------------------------

2012-12-12 14:25:42 614

转载 VS2010编译安装boost

1.下载安装包boost 1_45_0   http://sourceforge.net/projects/boost/files/boost/1.45.0/   选择下载 windows 或 unix 版本2.解压缩到d:\boost目录下3.编译bjam   (1)从vs2010的工具菜单进入命令提示窗口(单击“开始”按钮,指向“所有程序”,指向“Mic

2012-11-28 12:13:20 607

原创 部分C语言题目

1、下列描述不正确的是_______D________A.int **a[2][2]定义的是指向指针的指针数组B.定义int **a[2][2],在32位系统下,a所用的内存空间为16C. int **a[2][2]={0}D.int **a[2][3]={{0,0},{0,0},{0,0}}ps:我居然认为B不对,D对,2行3列我都不知道是啥。 2、有以下程序Am

2012-09-21 10:03:22 888

转载 TCP中的滑动窗口

.滑动窗口滑动窗口本质上是描述接受方的TCP数据报缓冲区大小的数据,发送方根据这个数据来计算自己最多能发送多长的数据。如果发送方收到接受方的窗口大小 为0的TCP数据报,那么发送方将停止发送数据,等到接受方发送窗口大小不为0的数据报的到来。书中的P211和P212很好的解释了这一点。关于滑动窗口协议,书上还介绍了三个术语,分别是:窗口合拢:当窗口从左边向右边靠近的时候,这种现象发生

2012-09-04 16:45:50 641

转载 TCP传输层

你所不知道的传输层题记:23页的文档上,满满当当的写满了笔记,纸质的东西,始终害怕丢失,还是选择把它总结到博客上来。PS.老规矩,列出可能遇到的20个问题,如果您是都能回答的高手,请您绕道,我是小菜,只做自己的学习笔记。1. 传输层的主要功能是什么?2. 传输层如何区分不同应用程序的数据流?3. 传输层有哪些协议?4. 什么是UDP协议?5.

2012-09-04 16:44:51 904

原创 进程间通信

Linux常用的进程间通信方式有:1、管道(pipe)和有名管道(FIFO)2、信号(signal)3、消息队列4、共享内存5、信号量6、套接字 ***********************************管道通信实例************************************pipe只能用于父进程和子进程之间通信。 #includ

2012-09-01 20:55:16 1149

原创 linux 多线程编程

/***创建多个线程*/#include#include#includevoid *myThread1(void){ int i; for (i=0; i<3; i++) { printf("This is the 1st pthread,created by fang.\n"); sleep(1);//Let this t

2012-08-31 20:38:48 638

原创 TCP并发服务器设计

TCP并发服务器是通过创建子进程来处理不同客户端的请求实现的server.c/*** TCP并发服务器*/#include #include #include #include #include #include #include #include #define portnumber 3333int main( int argc, cha

2012-08-31 20:37:31 3062

原创 网络编程基础

TCP和UDP是传输层协议。TCP是保证传输的面向连接的协议。UDP是无连接协议,不能保证消息传送到目的地。 当服务器和应用程序需要和其他进程通信是就会创建套接口(socket)。 通信域(domain)用来说明socket通信协议的语义。每个域都指定了一套协议、控制和解释名字的规则,以及套接口地址的格式。其中,对于Internet域来说,套接口地址的格式是一个IP地址

2012-08-29 11:20:53 509

原创 基于TCP的socket编程设计

server端需要做的工作(使用系统调用函数): (1)创建一个socket;                                            用socket()(2)绑定IP地址、端口等信息到socket上;            用bind()(3)设置允许的最大连接数                                     用listen()

2012-08-29 11:09:13 700

转载 socket编程头文件和常用函数

sys/types.h:数据类型定义sys/socket.h:提供socket函数及数据结构netinet/in.h:定义数据结构sockaddr_inarpa/inet.h:提供IP地址转换函数netdb.h:提供设置及获取域名的函数sys/ioctl.h:提供对I/O控制的函数sys/poll.h:提供socket等待测试机制的函数其他在网络程序中常见的头文件

2012-08-29 09:48:14 1185

转载 sizeof和strlen

先看看sizeof()一、sizeof的概念sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。其实可以简单的理解sizeof是征对"类型"的。二、sizeof的使用方法 1、用于数据类型  sizeof使用形式

2012-08-16 08:57:04 617

原创 linux shell获取路径的文件名及其目录名

完整的文件名最长可以到达4096个字符。那么,怎么知道哪个是文件名?哪个是目录名?就是利用斜线(/)来分辨。其实,获取文件名或者是目录名,一般的用途是在写程序时进行判断。 下面我们简单以几个范例谈一谈basename与dirname的用途。 [root@linux ~]# basename /etc/sysconfig/netwo输出:network

2012-08-12 21:47:29 14507

原创 linux 自动格式化创建多个.txt文件

格式化创建多个文件名01.txt   02.txt   03.txt...for(i=0;i <100;i++){ char sz[128]; sprintf(sz , "%02d.txt",i); fopen(sz,"w");}

2012-08-12 21:42:27 2826

原创 linux下 lame软件的使用

Lame为一款mp3编码软件,可以实现.wav文件转换为.mp3格式的文件。该软件支持编解码。 % lame [参数] 输入文件名>[输出文件名>]如需查询更多参数,可输入下列命令:# lame  --longhelp=======================================================================固定

2012-08-12 21:38:44 2921

原创 Linux下 C语言实现遍历指定目录下指定格式的文件

/***path为指定的目录路径,遍历该目录下的文件,找出指定格式(.mp3)的文件**并将文件名分组分别写入.txt文件,方便多进程处理*/#define SINGLENUM 10int searchdir( char *path ){ unsigned int count=0; //临时计数,[0,SINGLENUM] char txtname[128];

2012-08-12 21:06:36 9913 1

原创 Shell批处理命令

for var in var_listdo { ****** }done可以实现批量操作。

2012-08-12 20:55:44 871

原创 linux shell和c程序之间互相传递数据

有时候可能需要C程序和shell脚本之间互相传递数据,下面实现了两者之间数据的传递操作。用popen实现了shell的输出参数想C程序的传递。int getcount(){ FILE *fp; int total=0; char buff[MAXLINE]={0}; char command[]={"./count"}; //count为已写脚本 fp=

2012-08-12 20:51:50 4076

原创 Linux 进程创建及多进程

说到进程,首先要明确的一个概念就是什么是进程,进程是“a program in execution”。一个进程由如下元素组成:–程序的上下文(context),它是程序当前执行的状态–程序的当前执行目录–程序访问的文件和目录–程序的信任状态或者说访问权限,比特它的文件模式和所有权–内存和其他分配给进程的系统资源本文讨论创建进程最近本人写了一个关于进程操作的程序,之前对进

2012-08-12 20:32:50 30180 1

原创 C语言中的volatile关键字

C语言中的volatile是什么意思?volatile可以翻译为:易变的如:u8 a,b;{   a=2;   b=a;}这时编器会把它改成:u8 a,b;{   a=2;   b=2;}当运行到中间位置,中断把a改了,结果就是错的。volatile就为了解决这个问题出现的,它会让编译器更老实!****************

2012-07-24 16:20:00 897

原创 嵌入式产品开发流程

嵌入式产品开发流程一般分为以下几个部分:1、  硬件开发2、  Bootloader移植3、  Linux内核移植4、  根文件系统制作(供内核启动使用)5、  业务相关的应用程序和驱动程序的开发6、  功能测试、性能测试、系统集成测试、系统设备、发布 光有内核,系统是启动不起来的。3和4两个阶段称为最小系统。

2012-07-19 18:31:47 877

原创 Bootloader的概念

简单地说,bootloader就是在操作系统运行之前运行的一段小程序。通过这段小程序,可以初始化硬件设备,从而将系统的软硬件环境带到一个合适的状态,以便于最终调用操作系统做好准备。Bootloader的启动流程,一般分为两个阶段:Stage1:硬件设备初始化(CPU内部的一些硬件)为加载bootloader的stage2准备RAM空间拷贝bootloader的stage2到

2012-07-19 18:29:18 546

原创 UBOOT启动流程分析

UBOOT特点:用于多种CPU用于多种操作系统查看一下board/smdk2410/u-boot.lds这个链接脚本,可以知道目标程序的各部分链接顺序 OUTPUT_FORMAT("elf32-littlearm","elf32-littlearm", "elf32-littlearm")/*OUTPUT_FORMAT("elf32-arm","elf32-ar

2012-07-19 18:26:51 988

转载 bss,data,text,rodata,堆,栈,常量段

//红色部分为问题部分section 结构SECTIONS {...secname start BLOCK(align) (NOLOAD) : AT ( ldadr )  { contents } >region :phdr =fill...}secname:段名contents:决定哪些内容存放在此段start:本段的连接地址(实际运行地址)AT(

2012-07-19 10:25:09 12394

原创 函数指针

int func(int x); /* 声明一个函数 */int (*f) (int x); /* 声明一个函数指针 */f=func; /* 将func函数的首地址赋给指针f */赋值时函数func不带括号,也不带参数,由于func代表函数的首地址,因此经过赋值以后,指针f就指向函数func(x)的代码的首地址。注2:函数括号中的形参可有可无,视情况而定。UBOOT中go命令的实现:

2012-07-17 19:39:00 624

原创 删除一个字符串的一部分

《C和指针》第6章编程练习:请编写一个函数,删除一个字符串的一部分,函数的原型如下:int del_substr(char *str,char const *substr )函数首先应该判断substr是否出现在str中,如果它并未出现,函数就返回0;如果出现,函数应该把str 中位于该子串后面的所有字符复制到该子串的位置,从而删除这个子串,然后函数返回1。如果substr多次出现在str

2012-07-17 19:35:51 6317

ARM MMU详解

深度解析ARM处理器中的MMU,无论是初学者还是有一定基础的嵌入式学习者,都值得一看的文档

2011-12-17

EMI噪声抑制原理与实际电路制作

在手册前半部分,通过引用实验数据阐述电路发射EMI噪声的原理以及EMI噪声通过电路传导和辐射的原理,同时还阐述抑制EMI噪声的方法,在后半部分,讲述使用EMI静噪滤波器采取静噪措施的注意事项,病给出EMI静噪滤波器在典型电路中的应用实例

2011-08-06

单片机C语言开发,不能错过的好书籍!

有对原理的讲解,还有对开发实例的详细讲解,不能错过的好书籍!

2011-05-10

8051单片机实践--非常好的自学书籍

适合单片机的入门者学习,是我从别的地方弄过来的!共享一下

2011-04-28

空空如也

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

TA关注的人

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