- 博客(19)
- 收藏
- 关注
原创 最大序列和
#include using namespace std; #include /* 最大子序列和 */ int findmax(vector &n,vector &b) { int max=0; int len=n.size()-1; int begin=0; int beginn=0; int end=0; for(int i=0;i while(n[i]
2015-07-29 11:11:18 252
原创 随笔非阻塞
#include #include #include #incldue #include #include #include #include #include #include int main() { int fd; fd=open("nn",O_CREAT|O_RDWR,0611); int b=fcntl(fd,F_GETFL,0);
2015-07-28 19:41:36 321
原创 随笔定时框架
#include int main() { struct itimerspec timesp; struct timespec times; if(clock_gettime(CLOCK_REALTIME,×)==-1){ perror("clock_gettime\n"); return 0; } timesp.it_value.tv_sec=times.t
2015-07-28 19:40:54 325
原创 随笔服务器不能用
#include #include #include #include #include #include #include #include #incldue #include #include #include #include #include #include #include #ionclude int main
2015-07-28 19:40:09 332
原创 基于Linux流量控制系统功能简介
操作系统选用Linux在嵌入式环境下需要:排队规则、类、分类器。 类是将排队规则系统化可以把各个不同排队规则联合成为一个整体分类器找到不同类分别控制。 内核来看个人分为设置、控制两部分。 设置采用netlink进行进程间通信(把内核用户空间看作不同的进程不是坏事吧)回调函数找到设置位置挂载替换删除差不多。 控制规则比较多传统来讲有类无类随便选CBQ算作分类比较经典的但是吃力不讨好,WRR有
2015-07-28 16:57:09 380
原创 软件开发项目流程初学
软件开发流程可分为如下几个部分: 1.需求分析:通过对客户业务的了解和与客户对流程的讨论对需求进行基本建 模,最 终形成需求规格说明书。 2.总体设计:通过分析需求信息,对系统的外部条件及内部业务需求进行抽象建模,最终形成概要设计说明文档。 3.详细设计:此部分在对需求和概要设计的基础上进行系统的详细设计(也包含部分代码说明)。 4.开发编程:对系统进行代码编写。 5.测试分析系统整合:
2015-07-28 15:08:33 315
原创 数据包发送流程
linux流量控制是在网卡设备基础上完成 流控结构struct qdisc挂载在每一个网卡上struct net_device 本文仅仅概述数据包进入网卡设备到驱动发送流程 通过入队出队相关操作流量限制整形 上图简单理解为数据网卡压栈 软中断等待时机发送 数据网卡出栈 数据驱动发送
2015-04-13 19:05:29 593
原创 选择前N大的数
方法有很多种 简单排序能够实现 堆排序 归并 快排。。。 最佳复杂度nlgn 堆维护能够实现 复杂度lgkn #include #include using namespace std; void xiaogendui(vector &); void show(vector); vector daqianshu(int *,int); void
2015-04-13 13:01:16 250
原创 堆栈地址空间增长方式
地址空间排列方式同硬件差异有关 主流x86计算机模拟冯诺依曼体系结构构成虚拟软件空间 堆地址空间从小到大 栈地址空间从大到小 #include using namespace std; int main() { int i; /*i栈中分配*/ int j; /*j栈中分配*/ cout cout return 0;
2015-04-12 22:12:57 1959
原创 linux内核数据结构链表
结构体能存放数据 结构体嵌入链表能够让数据串联成为整体 如何通过结构体的链表找到对应结构体 container_of宏定义 /*#define container_of(ptr, type, member) ({ \ const typeof( ((type *)0)->member ) *__mp
2015-04-12 18:37:26 3934
原创 鸡尾酒排序简单随笔
鸡尾酒排序类似冒泡排序 冒泡单次循环确定最大或者最小位置 鸡尾酒排序单次循环确定最大和最小位置 复杂度没什么改变当成变种吧 #include using namespace std; void show(int *,int); void jiweijiu(int *,int); void show(int *test,int len) { fo
2015-04-12 15:24:12 384
原创 结构体对齐方式
不同编译器硬件平台会有差异 gcc编译器不使用attribute paragma 操作系统32位按最长字节元素对齐逐个递归 struct test { char i; char j; long long k; }; 结构体大小16字节
2015-04-11 14:21:15 279
转载 leetcode难度及面试频率
1 Two Sum 2 5 array sort set Two Pointers 2 Add Two Numbers 3 4 linked list Two Pointers
2015-04-07 21:12:02 754
原创 堆排序
#include /* 堆排序 */ void duipaixu(int *,int len); //堆排序声明 void show(int *,int); //测试函数 void duipaixu(int *a,int len) { int i=len/2-1; for(;i>=0;--i)
2015-04-06 20:31:43 301
原创 用户空间动态连接文件编译
d =/home/cyruszhy/OpenWrt-SDK-ramips-for-redhat-i686-gcc-4.8-linaro_uClibc-0.9.33.2/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/bin CC=$(d)/mipsel-openwrt-linux-uclibc-gcc
2015-04-06 20:00:40 319
转载 目前几种常见穿NAT的方法分析
NAT的出现在一定程度上解决了发展中国家网络地址资源不足的情况,然而,这种解决方法也带来了一些问题,尤其是对网络要求十分苛刻的流媒体传输方面,这些问题变得尤为突出(什么是NAT请参考BOLG的另外一篇文章),在一个带有NAT结构的网络环境中,不能实现P2P(peer to peer也就是点对点)的数据传输是VOIP的一个硬伤,而如何穿过这些NAT,实现数据的点对点传输也成了VOIP开发人员不得不面
2015-04-01 18:52:48 3497 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人