自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (6)
  • 收藏
  • 关注

转载 TCP/IP协议

TCP/IP协议不是TCP和IP这两个协议的合称,而是指因特网整个TCP/IP协议族。  TCP/IP协议模块关系从协议分层模型方面来讲,TCP/IP由四个层次组成:网络接口层、网络层、传输层、应用层。TCP/IP协议并不完全符合OSI的七层参考模型,OSI(Open System Interconnect)是传统的开放式系统互连参考模型,是一种

2013-08-31 12:28:02 605

转载 路由器基础

路由器英文名称为Router,是一种用于连接多个网络或网段的网络设备。这些网络可以是几个使用不同协议和体系结构的网络(比如互联网与局域网),可以是几个不同网段的网络(比如大型互联网中不同部门的网络),当数据信息从一个部门网络传输到另外一个部门网络时,可以用路由器完成。现在,家庭局域网也越来越多地采用路由器宽带共享的方式上网。  路由器在连接不同网络或网段时,可以对这些网络之间的数据信息进行

2013-08-31 12:27:00 625

转载 嵌入式linux设备驱动程序开发

一、设备驱动程序简介    系统调用是操作系统内核和应用程序之间的接口,设备驱动程序是操作系统内核与硬件设备之间的接口。设备驱动程序为应用程序屏蔽了硬件的细节,这样在应用程序来看,硬件设备只是一个设备文件,可以向操作普通文件一样对硬件设备进行操作。     功能:(1)对硬件设备初始化和释放(2)把数据从内核传送到硬件,从硬件读取数据(3)读取应用程序传送给设备文件的数据和回送

2013-08-29 22:35:43 1209

原创 linux 进程间通信

消息队列IPC使用消息可以实现进程之间的异步通信,(linux进程享有独立的内存空间,一个进程不能直接调用另一个进程的函数)#include通常引入一个通用的头文件,定义消息读写所需要的信息#define MAX_LINE 80#define  MY_MQ_ID  111Typedef struct{         Long  type;

2013-08-29 15:37:52 947

原创 linux 线程

POSIX线程(P线程)编程 要想知道正在使用的是哪个P线程库:$ getconf GNU_LIBPTHREAD_VERSION执行这个命令会显示出LinuxThreads或NPTL及其版本号         进程和线程都有控制流,两者都能同时运行,线程共享数据,进程不共享。创建线程的时候,线程唯一独有的元素是线程独有的栈,线程的代码和全局变量都是共同的;但进程会复制代

2013-08-29 15:28:44 557

原创 linux 进程

GNU/Linux 进程模型 GNU/Linux进程有两种基本类型,内核线程和用户进程。内核线程是在内核中由kernel_thread()函数创建,用户进程由fork()和 clone()创建。(讨论用户进程)         创建一个子进程(由fork创建),就创建了一个新的子任务,并为它复制了父任务使用的内存。两个进程使用的内存是相互独立的。在调用fork的时候,父进程当时的所有变

2013-08-29 15:27:21 756

转载 Linux下Fork与Exec使用

一、引言  对于没有接触过Unix/Linux操作系统的人来说,fork是最难理解的概念之一:它执行一次却返回两个值。fork函数是Unix系统最杰出的成就之一,它是七十年代UNIX早期的开发者经过长期在理论和实践上的艰苦探索后取得的成果,一方面,它使操作系统在进程管理上付出了最小的代价,另一方面,又为程序员提供了一个简洁明了的多进程方法。与DOS和早期的Windows不同,Unix/Li

2013-08-29 15:03:58 480

转载 linux select函数

Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所

2013-08-29 14:36:07 506

原创 C语言编程杂记

1.整型变量           在C语言中,使用整型变量可以使用八进制,十进制,十六进制数。其中十进制数没有任何前缀,八进制数需要前缀0, 如010, 0762,,等,十六进制数需要0x前缀,如0xFF, 0x98等。2.指针指针常量,在C语言中,指针常量只有一个NULL(空地址),因为程序事先是无法知道某个特定变量在内存中会存储到哪个位置,故指针常量表示为数值字面值没有用。字符

2013-08-28 21:02:41 715

转载 嵌入式 BootLoader

嵌入式linux系统从软件的角度通常分为四个层次:1。引导加载程序,包括固化在固件(firmware)中的boot代码(可选)和BootLoader两部分。2。Linux 内核,特定于嵌入式板子的定制内核以及内核的启动参数3。文件系统,包括根文件系统和建立于Flash 内存设备之上的文件系统,通常用ramdisk来作为rootfs4。用户应用程序,特定于用户的应用程序,有时在用户应

2013-08-28 15:25:09 909

原创 linux使用autotools进行编译

现在linux上的软件开发,一般使用autotools来制作Makefile。autotools使用需要一下工具(可以通过which + 工具名,查看系统中是否存在该工具) : alocalautoscanautoconfautoheaderautomakeautotools生成Makefile流程:1. 执行 autoscan 寻找源文件,创建 configu

2013-08-28 11:31:28 757

原创 makefile 命令

Makefile 变量Makefile 中自定义变量,方式一 递归方式,方式二 直接方式递归方式: VAR = xxx直接方式: VAR  := xxx递归方式不能在变量中追加内容,比如 CFLAGS=$(CFLAGS) - o ,如果使用递归变量,则会造成无穷循环递归。所以,使用直接方式定义变量。Makefile 中常见的预定义变量:AR 库文件维护程序的名称,默

2013-08-28 10:32:22 746

转载 eclipse + cdt + gdb 进行arm linux 交叉调试

如何使用eclipse进行嵌入式Linux的开发 习惯了在windows环境下开发的程序员在转到Linux平台时经常会抱怨没有一个好用的集成开发环境。和windows下常用的一些开发软件相比,Linux自带的一些开发环境使用起来要么界面和操作不够方便、友好,要么功能不全。其实我们完全可以在开源社区上找到操作方便,功能强大的开发环境。下面就向大家介绍一个能在Linux上运行,界面和功能与window

2013-08-27 17:53:14 647

转载 POJ2677 DP tour 双调欧几里得旅行商问题

DescriptionJohn Doe, a skilled pilot, enjoys traveling. While on vacation, he rents a small plane and starts visiting beautiful places. To save money, John must determine the shortest closed tour

2013-08-24 19:11:11 823

转载 linux编程获取本机IP地址的三种方法

这 是一项不太清晰而且没有多大意义的工作。一个原因是网络地址的设置非常灵活而且都是允许用户进行个性化设置的,比如一台计算机上可以有多块物理网卡或者虚 拟网卡,一个网卡上可以绑定多个IP地址,用户可以为网卡设置别名,可以重命名网卡,用户计算机所在网络拓扑结构未知,主机名设置是一个可选项并且同样可 以为一个计算机绑定多个主机名等,这些信息都会有影响。脱离了网络连接,单独的网络地址没有任何意义。编程中遇

2013-08-22 20:04:07 536

转载 Linux进程间通信--进程,信号,管道,消息队列,信号量,共享内存

参考:《linux编程从入门到精通》,《Linux C程序设计大全》,《unix环境高级编程》参考:C和指针学习 说明:本文非常的长,也是为了便于查找和比较,所以放在一起了Linux 传统的进程间通信有很多,如各类管道、消息队列、内存共享、信号量等等。但它们都无法介于内核态与用户态使用,原因如表通信方法无法介于内核态与

2013-08-21 14:42:25 555

转载 linux wait与waitpid函数的深入分析

一)系统调用wait  1)概述wait函数的原型为:pid_t wait(int *status)当进程退出时,它向父进程发送一个SIGCHLD信号,默认情况下总是忽略SIGCHLD信号,此时进程状态一直保留在内存中,直到父进程使用wait函数收集状态信息,才会清空这些信息.用wait来等待一个子进程终止运行称为回收进程.当父进程忘了用wait()函数等待已终止的子进程时,子进程

2013-08-21 14:00:45 463

转载 linux多线程的总结(pthread用法)

#include int pthread_create(pthread_t *restrict tidp,const pthread_attr_t *restrict attr,void *(*start_rtn)(void),void *restrict arg);Returns: 0 if OK, error number on failure第一个参数为指向线程标识符的指

2013-08-21 13:36:13 526

转载 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等待测试机制的函数 

2013-08-21 09:31:34 677

转载 Bash输入输出重定向

使用Bash可以方便的用实现输出输入的重定向,本文讨论重定向的一些细节和技巧。本文介绍部分是对Bash Quick Reference相关内容的翻译。目录[隐藏]1 基础知识2 简单重定向3 使用文件描述符的重定向4 重定向的组合应用5 重定向实例6 类似重定向的功能6.1 进程替换7 参考资料

2013-08-20 20:37:14 475

转载 Linux kernel路由机制分析

一.前言我对linux2.4.18的相关代码进行了阅读,从关键的几个接口函数入手,进而理清了整个路由部分的主要脉胳,理解了一些细节问题的处理,但还是有些问题还没有完全搞清楚。路由部分代码主要在linux代码树的/net/ipv4/下面: 对于下面报告内容的组织,我想通过由整体到部分到细节的顺序,尽量把我阅读代码学习到的所有的知识做一个有层次有条理的总结。

2013-08-20 09:50:55 1063

转载 struct sockaddr_nl 结构体 由来、含义以及使用——获取Linux路由表

Linux 用户态与内核态的交互  在 Linux 2.4 版以后版本的内核中,几乎全部的中断过程与用户态进程的通信都是使用 netlink 套接字实现的,例如iprote2网络管理工具,它与内核的交互就全部使用了netlink,著名的内核包过滤框架Netfilter在与用户空间的通 读,也在最新版本中改变为netlink,无疑,它将是Linux用户态与内核态交流的主要方法之一。它的通信依据是

2013-08-20 09:37:40 698

转载 Linux系统下UDP发送和接收广播消息小例子

// 发送端  #include   #include   #include   #include   #include   #include   #include   #include   #include       using namespace std;    int main()  {      setvbuf(stdout

2013-08-19 19:37:16 910

转载 Linux下的UDP Socket简单例子

客户端代码 client.c#include #include #include #include int main(int argc, char **argv){    int sockfd;    struct sockaddr_in servaddr;    sockfd = socket(PF_INET, SOCK_DGRAM, 0);

2013-08-19 19:36:21 803

转载 用Zebra做简单的RIP实验

RIP是应用较早、使用较普遍的IGP,适用于小型同类网络,是典型的距离向量(distance-vector)协 议。RIP通过广播UDP报文来交换路由信息,每30秒发送一次路由信息更新。RIP提供跳跃计数(hop count)作为尺度来衡量路由距离,跳跃计数是一个包到达目标所必须经过的路由器的数目。如果到相同 目标有二个不等速或不同带宽的路由器,但跳跃计数相同,则RIP认为两个路由是等距离的。RI

2013-08-18 18:17:15 1996

转载 ubuntu中关闭防火墙

1.关闭ubuntu的防火墙 ufw disable2.卸载了iptables         apt-get remove iptables1.用iptables -F这个命令来关闭防火墙,但是使用这个命令前,千万记得用iptables -L查看一下你的系统中所有链的默认target,iptables -F这个命令只是清除所有规则,只不会真正关闭iptables.想象一下,如果你

2013-08-18 16:38:06 1449

转载 Ubuntu 创建桌面快捷方式

一、第一种方式1. 安装必要软件 gnome-panel     [python] view plaincopysudo apt-get install --no-install-recommends gnome-panel  2. 开始创建桌面快捷方式在terminal 中输入如下命令:[python]

2013-08-18 15:20:58 571

转载 zebra路由软件使用大全

前言Zebra是一个路由软件包,提供基于TCP/IP路由服务,支持RIPv1, RIPv2, RIPng, OSPFv2, OSPFv3, BGP- 4, 和 BGP-4+等众多路由协议。Zebra还支持BGP特性路由反射器(Route Reflector)。除了传统的 IPv4路由协议,Zebra也支持IPv6路由协议。如果运行的SNMP守护进程(需要ucd-snmp)支持SMUX协

2013-08-18 15:09:09 3809

转载 linux下eclipse+CDT开发c/c++

A. 为什么要在 Linux使用Eclipse开发C/C++程序?  Linux是一个以C/C++开发为主的平台,无论是Kernel或是Application,主要都使用C/C++开发。传统在 Linux下开发程序,是在文字模式下,利用vi等文字编辑器撰写C/C++程序存盘后,在Command line下使用gcc编译,若要debug,则使用gdb。这种开发方式生产力并

2013-08-17 18:43:16 723

转载 POJ 1011 木棍问题

问题重述:Description乔治拿来一组等长的木棒,将它们随机地砍断,使得每一节木棍的长度都不超过50个长度单位。然后他又想把这些木棍恢复到为裁截前的状态,但忘记了初始时有多少木棒以及木棒的初始长度。请你设计一个程序,帮助乔治计算木棒的可能最小长度。每一节木棍的长度都用大于零的整数表示。Input输入包含多组数据,每组数据包括两行。第一行是一个不超过64的整数,表示砍断

2013-08-17 16:40:29 2459

转载 GDB让调试变简单

gdb(GNU Debugger)它是GNU组织发布的程序调试工具,在UNIX和类UNIX操作系统上都可使用GDB,目前GDB所能支持的编程语言有C,C++,JAVA等语言,主要用于调试C/C++.gdb以纯文本命令行执行,操作者熟悉以后可以利于它方便的调试程序,把程序的BUG找出来,同时它适用于子进程,多线程的调试.编译选项在程序源代码进行编译的时候,gcc的选项必须加上-g把调试信息加

2013-08-17 11:13:56 712

原创 Kdevelop的安装和使用

在红旗Linux4.1的开发工具盘中,提供了集成开发环境Kdevelop3.0.92。可以下载相应的ISO文件并利用其中的安装程序进行安装。安装完成后,从开始菜单中就可以启动Kdevelop:【开始】→【应用程序】→【软件开发】→【Kdevelop】利用Kdevelop可以编写C和C++ 程序,它把编辑、编译、调试和运行集成到一起,给编程工作带来很大方便。一般而言,用Kdevelop编程大

2013-08-17 11:12:35 925

转载 ubuntu下软件安装卸载与查看

说明:由于图形化界面方法(如Add/Remove... 和Synaptic Package Manageer)比较简单,所以这里主要总结在终端通过命令行方式进行的软件包安装、卸载和删除的方法。一、Ubuntu中软件安装方法1、APT方式(1)普通安装:apt-get install softname1 softname2 …;(2)修复安装:apt-get -f i

2013-08-17 10:55:55 530

转载 命令行参数

命令行的参数1、 什么是命令行的参数?字面理解:在命令行中给定的参数就是命令行参数。(即从输入位置角度理解)在加载主类时,给定的参数。(有main方法的类称为主类,而命令行参数都是送给main方法的,所以也可以说命令行参数是送给main方法的参数)。如: java Test1 365 156 "China"(以上Test1必须为主类,否则不能运行)2

2013-08-16 22:13:42 488

转载 在Linux主机下的软路由

实验名称:在Linux主机下的软路由实验说明:此实验不需要安装任务软件包。Linux自带的!!实验拓扑:ip地址规划如图所示:实验环境:测试机是windows或者是Linux机子都无所谓,只要保证充当路由功能的机子是Linux就行了!!实验目的:就是在Linux环境下让ip 192.168.1.121的这台机子和ip 10.0.0.100机子能相互通信。

2013-08-16 13:36:12 985

转载 unix路由表flag标志位

在Unix系统中可以通过netstat -r命令查看系统的路由信息,在路由表中涉及到的flag标志位如下:输出项  说明  Destination  目标网段或者主机  Gateway  网关地址,”*” 表示目标是本主机所属的网络,不需要路由  Genmask  网络掩码  Flags  标记。一些可能的标记如下:   U — 路由是活动的   H — 目标是一个

2013-08-15 21:09:01 5324 1

转载 实模式和保护模式

实模式:(即实地址访问模式)它是Intel公司80286及以后的x86(80386,80486和80586等)兼容处理器(CPU)的一种操作模式。实模式被特殊定义为20位地址内存可访问空间上,这就意味着它的容量是2的20次幂(1M)的可访问内存空间(物理内存和BIOS-ROM),软件可通过这些地址直接访问BIOS程序和外围硬件。实模式下处理器没有硬件级的内存保护概念和多道任务的工作模式。但是为了向

2013-08-03 15:48:48 466

webrtc AEC(回声消除模块)的完整编译工程(vs2010)

webrtc AEC(回声消除模块)的完整编译工程。(vs2010) 含源码,以及静态编译成的库文件。 可以自行修改工程配置,编译成dll。 最后使用头文件 echo_cancellation_.h 即可。

2013-11-07

WebRTC NS 模块 静态库

webrtc 中的NS 噪音消除模块,静态编译成的库文件 包含整个工程文件,可以自行修改成动态库文件

2013-11-07

WebRtc AEC 模块 源码+ 库文件(vs2010)

webrtc AEC自动回声消除 模块的代码,用vs2010编译成静态库使用。 资源中包含所有工程文件。

2013-11-07

新浪微博客户端源码

新浪微博源码* Copyright (c) 2007-2009, Yusuke Yamamoto All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the Yusuke Yamamoto nor the

2012-07-18

android笔记

1. Activity 2 1. Activity的生命周期【简介】 2 2.Activity 的创建 2 3.Actvity 堆栈 3 Intent对象调用Activity实例 4 2. Context menus for expandable lists 6 3. Android自动化测试初探 8 1:捕获Activity上的Element 8 2: Hierarchyviewer 捕获Element的 12 3: 架构实现 14 4:模拟键盘鼠标事件(Socket+Instrumentation实现) 15 5:再述模拟键盘鼠标事件(adb shell 实现) 18 4. 背景图片迎合不同手机分辨率的问题 28 5. 应用程序图标 29 6. 动态start页面 29 7. 运用java mail包实现发Gmail邮件 33 ………………

2012-07-18

android学习笔记

<<android 的几个技巧1>> 1 1. 入门实例剖析1 2 2.在测试时,如何实现一个提示 8 3.可以使用AlertDialog.Builder 才产生一个提示框. 9 4. menu 的用法. 10 1. 简单的代码 10 2. menu实现的两种方法 10 5.Activity 的切换(含Bundle传值) 14 1. 代码 14 2. 详解: 15 ………………………………

2012-07-18

空空如也

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

TA关注的人

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