- 博客(74)
- 资源 (22)
- 收藏
- 关注
转载 网络编程 TCP的那些事儿二
这篇文章是下篇,所以如果你对TCP不熟悉的话,还请你先看看上篇《TCP的那些事儿(上)》 上篇中,我们介绍了TCP的协议头、状态机、数据重传中的东西。但是TCP要解决一个很大的事,那就是要在一个网络根据不同的情况来动态调整自己的发包的速度,小则让自己的连接更稳定,大则让整个网络更稳定。在你阅读下篇之前,你需要做好准备,本篇文章有好些算法和策略,可能会引发你的各种思考,让你的大脑分配很多内存和计
2014-10-31 16:16:59 866
转载 网络编程 TCP 的那些事儿一
TCP是一个巨复杂的协议,因为他要解决很多问题,而这些问题又带出了很多子问题和阴暗面。所以学习TCP本身是个比较痛苦的过程,但对于学习的过程却能让人有很多收获。关于TCP这个协议的细节,我还是推荐你去看W.Richard Stevens的《TCP/IP 详解 卷1:协议》(当然,你也可以去读一下RFC793以及后面N多的RFC)。另外,本文我会使用英文术语,这样方便你通过这些英文关键词来查找相
2014-10-31 16:14:50 654
原创 嵌入式 uboot引导kernel,kernel引导fs
1、引导的起始点 u-boot中有个bootm命令,它可以引导内存中的应用程序映像(Kernel),bootm命令对应common/cmd_bootm.c中的do_bootm()函数,此函数实现下面几个功能: 1)读flash中的内核映像文件 2) 解压内核 3)校验内核 4)跳到内核执行(调用do_bootm_linux()函数)
2014-10-31 09:18:24 1504
转载 面试珠玑 tasklet和工作队列 区别
tasklet tasklet vs 内核定时器 相同:始终在中断期间运行,始终会在调度他们的同一CPU上运行,而且都接收一个unsigned long参数不同:不可以要求tasklet在某一给定的时间执行tasklet对中断处理例程来说尤其有用。中断处理例程必须尽可能快的管理硬件中断,而大部分数据管理则可以安全的延迟到其后的时间。实际上,与内核
2014-10-28 15:52:17 1917
转载 嵌入式 Linux 防火墙编辑重启命令
1. 在/etc/sysconfig/iptables里添加# vi /etc/sysconfig/iptables添加一条配置规则,如要想开放8080的端口,如下所示:-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 –j ACCEPT2. 重启iptables#
2014-10-27 16:07:12 1311
转载 多媒体 H264 获取SPS与PPS代码示例
在用Android手机进行h264硬编码的时候如果要进行视频流的实时传输与播放,就需要知道视频流的Sequence Parameter Sets (SPS) 和Picture Parameter Set (PPS)。今天算是看明白如何获取SPS和PPS,在这里记录下来,希望有需要的朋友可以在这里获取到一些些的帮助。首先说一下大前提,我设置的视频录制参数为:mMediaRec
2014-10-27 14:00:38 1508
转载 嵌入式 fork/exec/system 用法简介
pid_t fork(void);1、从父进程复制出子进程,进程控制块内容相同,用户态代码和数据也相同;2、父进程返回子进程ID(父进程唯一能得到子进程ID的时刻),子进程返回0;3、返回后父进程与子进程的运行顺序不确定,由调度程序确定;4、父进程打开的描述符都被复制到子进程中,子进程不集成父进程的锁。pid_t vfork(void);与fork基本相同,有两处显
2014-10-27 13:58:51 868
转载 多媒体 MP4文件格式详解——元数据moov(三)tref box
ISO 14496 - 12 定义了一种封装媒体数据的基础文件格式,mp4、3gp、ismv等我们常见媒体封装格式都是以这种基础文件格式为基础衍生的。如果从全局角度了解基础文件格式,请看我之前的博文《MP4文件格式详解——结构概述》。本系列文档从MP4文件入手,对文件中重要的box进行解析。本次继续解析moov box,关于moov的解析推荐从我之前的博文《MP4文件格
2014-10-27 13:58:09 1177
转载 多媒体 MP4文件格式详解——元数据moov(二)tkhd box
ISO 14496 - 12 定义了一种封装媒体数据的基础文件格式,mp4、3gp、ismv等我们常见媒体封装格式都是以这种基础文件格式为基础衍生的。如果从全局角度了解基础文件格式,请看我之前的博文《MP4文件格式详解——结构概述》。本系列文档从MP4文件入手,对文件中重要的box进行解析。本次继续解析moov box,关于moov的解析推荐从我上一篇博文《MP4文件格
2014-10-27 13:57:32 1268
转载 多媒体 MP4文件格式详解——元数据moov(一)mvhd box
ISO 14496 - 12 定义了一种封装媒体数据的基础文件格式,mp4、3gp、ismv等我们常见媒体封装格式都是以这种基础文件格式为基础衍生的。如果从全局角度了解基础文件格式,请看我之前的博文《MP4文件格式详解——结构概述》。本系列文档从MP4文件入手,对文件中重要的box进行解析。本次解析moov box,也称movie box。movie box
2014-10-27 13:56:55 1398
转载 多媒体 MP4文件格式详解——文件类型ftyp
文件类型ftyp(ISO-14496-12)ISO 14496 - 12 定义了一种封装媒体数据的基础文件格式,mp4、3gp、ismv等我们常见媒体封装格式都是以这种基础文件格式为基础衍生的。如果从全局角度了解基础文件格式,请看我之前的博文《MP4文件格式详解——结构概述》。本系列文档从MP4文件入手,对文件中重要的box进行解析。
2014-10-27 13:55:02 1504
转载 多媒体 h264检测是I帧还是P帧
今天在网上找了一些资料,知道了如何检测h264中的帧类型,在这里记录下来。首先,贴出nal单元类型定义(图从《新一代视频压缩编码标准H.264》摘录):假设一段h264的码流为:00 00 00 01 41 E6 60……其中的00 00 00 01为起始码,而起始码之后的下一个字节就可以检测出这一帧的类型。在上面的码流中起始码之后的字节位 0x41,换算成二进制为
2014-10-27 13:52:09 1065
转载 多媒体 Mp4v2实现h264+aac打包成Mp4视频文件
使用mp4v2实现录制mp4视频,需要准备如下信息:1、获取mp4v2源码并编译成库文件,对于mp4v2的编译可以看前面的文章android 编译mp4v2 2.0.0生成动态库 ;2、获取h264数据中的sps和pps数据,如果不会的话可以查看前面的文章 点击打开链接;3、获取音频解码信息,在调用MP4SetTrackESConfiguration使用,具体的获取方式一
2014-10-27 13:50:32 4756
转载 多媒体 MP4V2 录制mp4(h264+aac)音视频同步
MP4录制程序是根据mpeg4ip中mpeg4ip-1.5.0.1\server\mp4live\file_mp4_recorder.cpp文件改的。程序支持h264+aac(raw 流)的写入方式,用到了动态库mp4v2-2.0.0,不要用mpeg4ip中那个较老的版本,因为在录制大文件时会有效率问题,下面是一些mp4v2接口的简介。 MP4FileHandle MP4Creat
2014-10-27 13:42:31 5900
转载 嵌入式 FAAC1.28 在海思HI3518C/HI3518A平台linux中的编译优化
FAAC1.28的下载地址:http://www.audiocoding.com/downloads.html如何编译:1../configure --host=arm-hisiv100nptl-linux --prefix=/home/ssy/lib2.make3.make install优化在不修改源码的情况下,faac的内存占用非常高,每路音频
2014-10-24 18:24:50 3142 6
转载 服务器 Linux下http.conf详解
配置主配置文件 用vi或其它文件编辑器编辑主配置文件httpd.conf : vi /usr/local/apache-2.2.6/conf/httpd.conf 按下面提示进行修改:###=========httpd.conf begin===================##Apache主配置文件##设置服务器的基础目录,默认为
2014-10-24 17:33:48 7739
转载 服务器 Apache中Httpd.conf详解
Apache 的 httpd.conf 详解## Apache服务器主配置文件. 包括服务器指令的目录设置.# 详见 http://www.apache.org/docs/> ## 请在理解用途的基础上阅读各指令。## 再读取此文档后,服务器将继续搜索运行# E:/Program Files/Apache Group/Apache/conf/srm.co
2014-10-24 17:25:07 1060
原创 嵌入式 hi3518平台多路码流添加osd
/******************************************************************************function : overlay process1) create some overlay regions2) display overlay regions ( One Region -- Multi-VencGroup )3
2014-10-24 16:29:45 6797 20
原创 嵌入式 hi3518平台以太网网络模块设计包括重连机制和网线检测机制
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #
2014-10-24 14:41:08 1807
原创 嵌入式 hi3518平台增加路由代码
/********************************** (C) COPYRIGHT ******************************** File Name : add_route.c* Author : skdkjzz* Date : 2014/08/09* Description
2014-10-24 14:38:22 1369
原创 嵌入式 hi3518平台获取网关
/********************************** (C) COPYRIGHT ******************************* * File Name : get_gw.c * Author : skdkjzz * Date : 2014/08/07 * Desc
2014-10-24 14:36:27 1231
原创 嵌入式 hi3518平台获取网络环境中的ip、netmask、broadcast等信息
/********************************** (C) COPYRIGHT ******************************* * File Name : get_netinfo.c * Author : skdkjzz * Date : 2014/08/07 * Descrip
2014-10-24 14:35:06 1841
原创 嵌入式 hi3518平台指定网卡测试是否通外网
/********************************** (C) COPYRIGHT ******************************* * File Name : netstatus_check.c * Author : skdkjzz * Date : 2014/08/07 * Description
2014-10-24 14:31:44 1184
原创 嵌入式 hi3518平台检测网线是否插上
/********************************** (C) COPYRIGHT ******************************** File Name : linkstatus_check.c* Author : skdkjzz* Date : 2014/08/07* Descripti
2014-10-24 14:29:40 1337
转载 服务器 数据库设计技巧
关键字: 数据库建表原则·1. 原始单据与实体之间的关系可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面大有好处。〖例〗:一份员工履历资料,在人力资源
2014-10-23 23:01:14 2058
转载 嵌入式 busybox自带的tftp、telnet、ftp服务器
1、telnet 服务器: #telnetd//默认的端口为23注意:必须在/dev目录下创建 pts目录,并挂载devpts文件系统在windows中开始--》运行--》cmd 启动MS-DOS>telnet 192.168.1.1(开发板的IP)输入用户名及密码即可登录如果想开机运行在/etc/init.d
2014-10-23 14:46:53 4371
转载 嵌入式 十个最值得阅读学习的C开源项目代码
开源世界有许多优秀的开源项目,我选取其中十个最优秀的、最轻量级的C语言的项目,希望可以为C语言开发人员提供参考。C 源代码目录[-]十个最值得阅读学习的C开源项目代码1. Webbench2. Tinyhttpd3. cJSON4. CMockery5. Libev6. Memcached7. Lua8. SQLite9. U
2014-10-23 11:20:33 2985
原创 嵌入式 hi3518x平台h264+g711a封装mp4代码demo
先看代码吧,有代码有真相,具体代码的demo(下载demo的朋友请勿在网上上传我的demo,谢谢)下载连接为:http://download.csdn.net/detail/skdkjxy/8071721注:代码demo是一个完整的工程,直接进行make x86或者make arm 就可以到目录src下运行可执行文件了。
2014-10-23 11:13:55 9224 14
转载 嵌入式 STL源码剖析---红黑树原理详解下
算法导论书上给出的红黑树的性质如下,跟STL源码剖析书上面的4条性质大同小异。 1、每个结点或是红色的,或是黑色的 2、根节点是黑色的 3、每个叶结点(NIL)是黑色的 4、如果一个节点是红色的,则它的两个儿子都是黑色的。 5、对于每个结点,从该结点到其子孙结点的所有路径上包含相同数目的黑色结点。 从红黑树上删除一
2014-10-22 17:59:33 921
转载 面试珠玑 淘宝2011.9.23校园招聘会面试题
1、操作系统中的同步和异步有什么区别?分别应用在什么场合?答:同步,就是说你的程序在执行某一个操作时一直等待直到操作完成。 最常见的例子就是 SendMessage。该函数发送一个消息给某个窗口,在对方处理完消息之前,这个函数不返回。当对方处理完毕以后,该函数才把消息处理函数所返回的 LRESULT值返回给调用者。异步,就是说程序在执行某一个操作时,只是发出开始的指令;由另外的并行程
2014-10-22 17:57:56 881
转载 面试珠玑 C/C++笔试题目大全
1、以下程序的运行结果是()[cpp] view plaincopyint main(void) { printf("%s , %5.3s\n","computer","computer"); return 0; } A、computer , puter
2014-10-22 17:56:47 2413
转载 C++学习 C++中虚函数工作原理和(虚)继承类的内存占用大小计算
一、虚函数的工作原理 虚函数的实现要求对象携带额外的信息,这些信息用于在运行时确定该对象应该调用哪一个虚函数。典型情况下,这一信息具有一种被称为 vptr(virtual table pointer,虚函数表指针)的指针的形式。vptr 指向一个被称为 vtbl(virtual table,虚函数表)的函数指针数组,每一个包含虚函数的类都关联到 vtbl。当一个对象调用了虚函数,实际
2014-10-22 17:51:06 583
转载 面试珠玑 微软面试题小汇
1、有一个整数数组,请求出两两之差绝对值最小的值,记住,只要得出最小值即可,不需要求出是哪两个数。 1 using System; 2 using System.Linq; 3 using System.Collections.Generic; 4 namespace ConsoleApplication1 5 { 6 class Program
2014-10-22 17:49:49 782
转载 嵌入式 KMP算法详解及各种应用和BF算法提及
KMP算法详解:KMP算法之所以叫做KMP算法是因为这个算法是由三个人共同提出来的,就取三个人名字的首字母作为该算法的名字。其实KMP算法与BF算法的区别就在于KMP算法巧妙的消除了指针i的回溯问题,只需确定下次匹配j的位置即可,使得问题的复杂度由O(mn)下降到O(m+n)。在KMP算法中,为了确定在匹配不成功时,下次匹配时j的位置,引入了next[]数组,next[j]的值表示P[0.
2014-10-22 17:45:23 842
转载 面试珠玑 C++中的static关键字
C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。一、面向过程设计中的static1、静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下:[cpp] view pl
2014-10-22 17:39:59 592
转载 面试珠玑 快速排序、希尔排序、插入排序、选择排序、归并排序、堆排序总结
一、快速排序的基本思想 设当前待排序的无序区为R[low..high],利用分治法可将快速排序的基本思想描述为:①分解: 在R[low..high]中任选一个记录作为基准(Pivot),以此基准将当前无序区划分为左、右两个较小的子区间R[low..pivotpos-1)和R[pivotpos+1..high],并使左边子区间中所有记录的关键字均小于等于基准记录(不妨记
2014-10-22 17:38:53 753
转载 面试珠玑 遍历二叉树的各种操作(非递归遍历)
先使用先序的方法建立一棵二叉树,然后分别使用递归与非递归的方法实现前序、中序、后序遍历二叉树,并使用了两种方法来进行层次遍历二叉树,一种方法就是使用STL中的queue,另外一种方法就是定义了一个数组队列,分别使用了front和rear两个数组的下标来表示入队与出队,还有两个操作就是求二叉树的深度、结点数。。。[cpp] view plaincopy
2014-10-22 17:32:43 886
转载 面试珠玑 各大IT公司校园招聘程序猿笔试、面试题集锦
百度一面1、给定一个字符串比如“abcdef”,要求写个函数编程“defabc”,位数是可变的。这个比较简单,我用的是strcpy和memcpy,然后他问有什么优化的办法,我就不知道了。2、socket过程就是socket的server和client整个流程写下来,这个还是没啥问题的。3、数据结构二叉树的遍历,给了个二叉树,前序、中序、后序写出来,这个没什么难度。http://
2014-10-22 17:32:30 1192
转载 C++学习 C++中智能指针的设计和使用
智能指针(smart pointer)是存储指向动态分配(堆)对象指针的类,用于生存期控制,能够确保自动正确的销毁动态分配的对象,防止内存泄露。它的一种通用实现技术是使用引用计数(reference count)。智能指针类将一个计数器与类指向的对象相关联,引用计数跟踪该类有多少个对象共享同一指针。每次创建类的新对象时,初始化指针并将引用计数置为1;当对象作为另一对象的副本而创建时,拷贝构造函数拷
2014-10-22 17:30:36 525
tracepoint_lttng使用详解
2015-03-23
多路径multipath配置文档和相关概念
2015-01-07
ceph-fs-rpm-build
2014-12-08
ceph-cognize-docs_zh-v1.3
2014-11-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人