- 博客(46)
- 资源 (3)
- 收藏
- 关注
转载 BCM芯片FP原理及相关SDK数据结构介绍
BCM芯片FP原理及相关SDK数据结构介绍作者: 北京—小武邮箱:night_elf1020@163.com新浪微博:北京-小武BCM芯片有几个大的模块: VLAN、L2、L3和FP等几个,其中FP的使用也最为灵活,能解析匹配数据包文的前128字节比特级的内容,动作包括转发、丢弃、结合qos修改相应字段、分配vid、流镜像、流重定向、指定端口转发(比如C
2017-07-19 23:03:09 740
转载 CIR,CBS,EBS,PIR,PBS傻傻分不清楚?看这里!----揭秘令牌桶
概述春暖花开的时候,大家都开着汽车外出旅游欣赏美丽的风景,却被堵在高速公路上,你是否为此感到痛苦?但如果有一种机制可以评估高速公路上的车流量、控制车流情况,确保进入高速公路的汽车都能在路上安全畅行,你是不是会觉得很开心?与此相似,网络发生拥塞的时候,也是一件非常痛苦的事情,如图1和图2所示。图1 网络拥塞场景1 图2 网络拥塞场景2
2017-07-19 22:56:50 918
原创 shell学习笔记
- 单撇号用命令的执行结果来替换这个字符串本身例1:#now=‘date’#echo $now#now=`date` #echo $now例2:#count=10#count=`expr$count + 1`#echo $count注意: 反撇号与单引号的区别 - exprexpr命令一般用于整数值,但也可用于字符串。
2015-08-05 22:18:00 469
转载 linux多进程之间的文件锁
之前对于文件的操作通常在一个进程中完成,最近需要在两个进程中对同一个文件进行操作。故想到了文件锁。linux下可以使用flock()函数对文件进行加锁解锁等操作。简单介绍下flock()函数: 表头文件 #include 定义函数 int flock(int fd,int operation); 函数说明 flock()会依参数operati
2015-05-06 12:36:02 487
转载 使用typedef语句定义数组类型
使用typedef语句定义数组类型使用typedef语句定义数组类型 1. 一维数组类型的定义格式 typedef []; 例如: (1) typedef int vector[10]; (2) typedef char strings[80]; (3) typedef short int array[N];
2015-04-16 22:51:30 334
转载 路由表详解
转载:http://www.cnblogs.com/zzp28/articles/1746188.html在Linux系统中,设置路由通常是为了解决以下问题:该Linux系统在一个局域网中,局域网中有一个网关,能够让机器访问Internet,那么就需要将这台机器的IP地址设置为Linux机器的默认路由。要注意的是,直接在命令行下执行route命令来添加路由,不会永久保存,当网卡重启或者
2015-04-03 18:03:06 1059
转载 Socket原理与编程基础
Socket原理与编程基础作者:carter 时间: 2011-11-22 22:52:24.0一、Socket简介Socket是进程通讯的一种方式,即调用这个网络库的一些API函数实现分布在不同主机的相关进程之间的数据交换。几个定义:(1)IP地址:即依照TCP/IP协议分配给本地主机的网络地址,两个进程要通讯,任一进程首先要知道通讯对方的位置,即对方
2015-03-24 09:38:59 405
转载 C语言中的struct、union、enum、Typedef
一、typedef的用法转载地址:http://www.2cto.com/kf/201404/296683.htmltypedef可以看作type define的缩写,顾名思义就是类型定义,也就是说它只是给已有的类型重新定义了一个方便使用的别名,并没有产生新的数据类型。typedef的使用与宏定义define有些许的相似,但两
2015-03-16 15:34:36 4903
转载 大小端问题
大小端问题转载地址:http://blog.csdn.net/yasaken/article/details/7243757 最近工作中,有两次遇到大小端问题,所以花时间写这篇日志,总结一下。1. 实际需求 (1) 前段时间写了一个修复损坏的gzip文件的tool,在Linux Server上编译运行没有问题。但是在Solaris
2015-03-05 23:03:37 403
转载 C++ 虚函数表解析
前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。 关于虚函数的使
2015-03-05 15:38:34 349
原创 C++实现一个不能被继承的类
构造函数是实现继承的关键,子类对象在构造时,首先调用父类的构造函数,在调用自己的构造函数。#include using namespace std;template class A{ public: friend T; private: A(){} ~A(){}};class B:virtual public A
2015-03-05 10:41:28 546
原创 C语言经典排序
void insertion_sort(int data[], int n){ int i = 0; int j = 0; int k = 0; int tmp = 0; for( i=1;i { j = 0; while(j { j+
2015-02-16 10:54:29 522
原创 C语言危险函数
定义字符串会自动在后边添加\0.char *p = "hello";for(i=0;i{ printf("%d\n",p[i]);}104 101 108 108 111 0 115 注意危险函数:1、危险函数gets()函数,应该使用fgets()char *gets (char *__s) //从标准输入读入字符串
2015-02-15 17:40:32 4005 1
转载 数组指针和指针数组的区别
数组指针和指针数组的区别数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。如要将二维数组赋给一指针,应这样赋值:int a[3][4];int (*p)[4]; //该语句是定义一个数组指针,指向
2015-02-13 17:04:36 337
转载 C语言volatile用法
C中的volatile用法volatile 影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生release版可执行码时会进行编译优化,加volatile关键字的变量有关的运算,将不进行编译优化。)。 例如: volatile int i=10; int j = i
2015-02-13 16:28:19 542
转载 各种类型与零比较
1 布尔变量与零值比较【规则1】不可将布尔变量直接与TRUE、FALSE或者1、0进行比较。根据布尔类型的语义,零值为“假”(记为FALSE),任何非零值都是“真”(记为TRUE)。TRUE的值究竟是什么并没有统一的标准。例如Visual C++ 将TRUE定义为1,而Visual Basic则将TRUE定义为-1。假设布尔变量名字为flag,它与零值比较的标 准if语句如下:if
2015-02-03 16:57:40 602
原创 shell编程
本文将会讲解一些linux中命令的使用与技巧希望对新手给予帮助一 e v a l命令将会首先扫描命令行进行所有的置换,然后再执行该命令。该命令适用于那些一次扫描无法实现其功能的变量。该命令对变量进行两次扫描。这些需要进行两次扫描的变量有时被称为复杂变量。不过这些变量本身并不复杂。e v a l命令也可以用于回显简单变量,不一定是复杂变量。1 eval命令也可以用于回显简单变量,不一定是复杂
2014-12-26 11:59:55 362
原创 ASCII码与转义字符
字符串的结束标志符是“ \0 ”,也就是空字符NULL(ascii 0x00),而不是空格(ascii 0x20),也不是0(ascii 0x30) 1 #include 2 #include
2014-12-10 16:50:35 1949
转载 PDU-7Bit转码
#include #include #include #include #include #include /*#include #include */#include #include "sw_cell_type.h"#include "cellular_err.h"#include "cellular_net.h"#include "cellular_msg.h"
2014-12-02 11:31:46 1177
转载 短信PDU编码解析
第一篇 PDUContentsSMS formatPDU formatPDU converterString converterLinksReferencesSMS (Short Message Service) is specified by the ETSI (standards GSM 03.401 and 03.382 ). It can contain up
2014-12-01 21:16:18 2791
转载 5个用于移动开发的最流行数据库
嵌入式数据库是轻量级的,独立的库,没有服务器组件,无需管理,一个小的代码尺寸,以及有限的资源需求。目前有几种嵌入式数据库,你可以在移动应用程序中使用。让我们来看看这些最流行的数据库。数据库数据类型存储License支持平台BerkeleyDBrelational, objects, key-value pair
2014-11-19 11:22:02 936
转载 库
http://blog.163.com/xychenbaihu@yeah/blog/static/13222965520101023104745738/Linux下静态库_库的基本概念;如何生成静态库动态库;nm查看库中包含那些函数、ar生成静态库,查看库中包含那些.o文件、ldd查看程序依赖的.so文件;gcc/g++与库相关的参数-L,-l,-fPIC,-shared;静态库链接时
2014-11-18 18:45:39 400
转载 AT指令中的<CR>和<LF>分别代表什么意思
CR :Carriage Return 回车,打字机车头的回位。LF:Line Feed 换行,打字机向下滚一行打字机的时代,这些是指挥打字机机械工作的指令,电脑时代只用在屏幕显示。CR+LF是windows下文本文件的标准换行符,C语言中记做\r\n
2014-11-12 12:04:06 8863
转载 select()函数
http://hi.baidu.com/bimufo/item/139700e4d880cba1c00d755cselect()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSETselect函数用于在非阻塞中,当一个套接字或一组套接字有信号时通知你,系统提供select函数来实现多路复用输入/输出模型,原型: #include
2014-11-12 10:46:42 376
转载 linux—select详解
linux—select详解 select系统调用时用来让我们的程序监视多个文件句柄的状态变化的。程序会停在select这里等待,直到被监视的文件句柄有一个或多个发生了状态改变。关于文件句柄,其实就是一个整数,通过socket函数的声明就明白了:int socket(int domain, int type, int protocol);我们最熟悉的句柄是0、1、2三个,0是标
2014-11-11 16:18:27 337
转载 波特率设置
对于波特率的设置通常使用cfsetospeed和cfsetispeed函数来完成。获取波特率信息是通过cfgetispeed和cfgetospeed函数来完成的。cfsetospeed函数头文件:#include函数原型:int cfsetospeed(struct termios *termptr, speed_t speed);参数:st
2014-11-11 16:03:54 3859
转载 access
int access(const char *filename, int amode); amode参数为0时表示检查文件的存在性,如果文件存在,返回0,不存在,返回-1。 这个函数还可以检查其它文件属性: 06 检查读写权限 04 检查读权限 02 检查写权限 01 检查执行权限 00 检查文件的存在性而
2014-11-11 15:33:38 398
转载 pthread_create
pthread_create编辑本词条缺少信息栏,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!pthread_create是类Unix操作系统(Unix、Linux、Mac OS X等)的创建线程的函数。目录1函数简介▪ 头文件▪ 函数声明▪ 编译链接参数▪ 返回值▪ 参数▪ 注意事项
2014-11-10 11:39:15 450
转载 Linux互斥锁机制
一、 pthread_mutex 家庭成员:1.int pthread_mutex_init (pthread_mutex_t *mutex , pthread_mutexattr_t * attr );DescriptionThe pthread_mutex_init function initializes the given mutex with the gi
2014-11-10 11:36:00 886
转载 使用tcgetattr函数与tcsetattr函数控制终端
6.4.4 使用tcgetattr函数与tcsetattr函数控制终端2007-11-07 15:12 杜华 人民邮电出版社 字号:T | T综合评级:想读(14) 在读(4) 已读(4) 品书斋鉴(2) 已有22人发表书评《Linux编程技术详解》第6章的主要内容是设备文件,本小节讲的是使用tcgetattr函数与tcsetattr函数控制终端
2014-11-10 11:32:23 425
转载 repo
repo init -u URL , 在当前目录安装 repository ,会在当前目录创建一个目录 ".repo" -u 参数指定一个URL, 从这个URL 中取得repository 的 manifest 文件。 repo init -u git://android.git.kernel.org/platform/manifest.git 可以用
2014-10-27 11:51:00 337
转载 git clone 命令参数:
git clone 命令参数:usage: git clone [options] [--] [] -v, --verbose be more verbose -q, --quiet be more quiet --progress force progress reporting -n, -
2014-10-27 11:31:05 1715
原创 强大的dd命令
dd命令使用详解1.命令简介 dd 的主要选项:指定数字的地方若以下列字符结尾乘以相应的数字:b=512, c=1, k=1024, w=2, xm=number mif=file #输入文件名,缺省为标准输入。 of=file #输出文件名,缺省为标准输出。 ibs=bytes #一次读入 bytes 个字节(即一个块大小为 bytes 个字节)。 obs
2014-10-22 09:51:22 968
原创 堆栈
BootloaderBootloader中的栈空间只有8K,堆有4M,所以需要使用推申请内存。以下是CFE中堆和栈的信息: Local Heap: 0x89176400 - 0x89576400 (4194304)Stack Area: 0x89576400 - 0x89578400 (8192)
2014-10-15 19:48:19 467
原创 C语言中的运算符及其优先级
优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右 ()圆括号(表达式)/函数名(形参表) .成员选择(对象)对象.成员名
2014-10-15 14:48:01 364
原创 802.11ac双频
802.11ac的核心技术主要基于802.11a,继续工作在5.0GHz频段上以保证向下兼容性,但数据传输通道会大大扩充,在当前 20MHz的基础上增至40MHz或者80MHz,甚至有可能达到160MHz。再加上大约10%的实际频率调制效率提升,新标准的理论传输速度最高有望 达到1Gbps,是802.11n 300Mbps的三倍多。
2014-10-12 22:29:10 2626
转载 CGI 环境变量
CGI 环境变量环境变量说明GATEWAY_INTERFACEServer 使用的 CGI 版本SERVER_NAMEServer 的 host 名称或 IP 位址SERVER_SOFTWARE回应 client request 的 Server 软体名称和版本SERVER_PROTOCOL传递资讯所用的协定名称或
2014-10-11 20:37:49 359
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人