-
[综合] 使用ffmpeg 对视频做resize
最近从MIT的OC上下了许多学习的视频,可是有些视频的比例和分辨率有问题,看起来难受得很。于是自己用ffmpeg来resize一下 很简单ffmpeg-iinput.mp4-s320:240output.mp4 可是发现resize以后视频的很横纵比还是有问题 用kmplay查看了一下有一个dis...
20
热度 -
[综合] C++ 对比 Scheme(Lisp)
看了一下SICP的第一课MIT6.00186年版的,用Scheme来解决实际问题确实是一种非常具有“美学”的语言。 C++11也开始支持lambda表达式了,可以在对象或者函数里定义函数。类“Function-OrientProgramming” 于是自己把第一课的例子用Scheme和C++11写了...
24
热度 -
[综合] 在linux下调用syscalls.h头文件
终于开始看TheC的第八章TheUNIXSystemInterface了!这是比较激动人心的一章,学过之后就可以开始写Unix程序了,比如打印目录,查看文件大小、文件属性等,也就是说可以写一些比较实用的小程序了。而且一些系统函数,例如read(),write()等,是unix编程的基础。另外,也讲解...
68
热度 -
[综合] c语言中的setjmp和longjmp简介
setjmp将当前程序的运行环境存储在一个jump_buf类型的全局变量中(因为后续要被longjmp调用) 第一次调用setjmp的返回值是null 中后续的代码中执行到longjmp以后,longjmp需要两个参数,一个是之前setjmp保存到运行环境的全局变量可以调整到setjmp函数 另一...
83
热度 -
[综合] Algorithm, Part I Princeton University 公开课第一周 Union-Find算法
Union-FindwithWeightedUnionandfindpathcompression 一个使用Union-Find的例子使用Java语言描述 publicclassSocialNetwork{publicvoidmain(String[]args){}publicclassUnion...
78
热度 -
[综合] 《C 程序设计语言》 第八章 malloc 函数实现于内测管理
这章举例实现了一个内存管理函数malloc将系统以来的部分和非系统依赖的部分进行分离 malloc内部管理的内存区块实际上是一个环链表,用一个全局指针纪录上一次操作的节点,用户遍历时判断是否已经遍历一周。 每个链表节点又一个头部组成,纪录了下一个区块的地址和整个区块的尺寸 定义如下 typede...
20
热度 -
[综合] 一个使用Java语言描述的矩阵旋转的例子
一个把矩阵旋转输出的方法就是直接按照旋转以后的规律遍历输出 但有时候需要把矩阵旋转一工后续使用,如果不创建一个新的矩阵直接做原有矩阵基础上做旋转该如何操作呢 一个用java实现的算法 importedu.princeton.cs.algs4.StdIn; importedu.princeton.c...
8
热度 -
[综合] 一个用Java实现的双向队列,可以分别在头尾插入和删除节点
分析,双向队列的内部实现是一个双向链表,可以分别从头尾插入和删除节点。 通常使用一个first指向头last指向尾。然后分别维护各种next和prev指针。通常情况要考虑边界条件,即当队列本身为空的时候插入新节点如何维护first和last的指向 删除节点的时候,若队列变为空又应该如何维护first...
91
热度 -
[综合] 王爽 《汇编语言》 读书笔记 一 基础知识
第一章基础知识 1.1~1.0小结 1)汇编指令是机器指令的助记符,同机器指令一一对应。 2)每种cpu都有自己的汇编指令集(机器语言指令集) 3)cpu可以直接使用的信息中存储器中存放 4)在存储器中指令和数据没有任何区别,都是二进制信息 5)存储单元从0开始顺序编号 6)一个存储单...
5
热度 -
[综合] 王爽 《汇编语言》 读书笔记 三 寄存器(内存访问)
第三章寄存器(内存访问) 3.1内存中字的存储 cpu中,用16位寄存器来存储一个字。高8位存放高位字节,低8位存放低位字节。 字单元:即存放一个字型数据(16位)的内存单元,由两个地址连续的内存单元组成。高地址内存单元中存放字型数据的高位字节,低地址内存单元中存放字型数据的低位字节。 将起始地址为...
84
热度 -
[综合] 王爽 《汇编语言》 读书笔记 八 数据处理的两个基本问题
第八章数据处理的两个基本问题 1)处理的数据栈什么地方? 2)要处理的数据有多长? 定义一个描述符号:reg表示寄存器sreg表示段寄存器 reg:ax,bx,cx,dx,ah,al,bh,bl,ch,cl,dh,dl,sp,bp,si,di; sreg:ds,ss,cs,es 8.1bx,si,...
89
热度 -
[综合] 王爽 《汇编语言》 读书笔记 十 CALL和RET指令
第十章CALL和RET指令 call和ret都是转移指令,它们都修改IP,或同时修改CS和IP,常用于子程序的设计。 10.1ret和retf ret用栈中的数据,修改IP的内容,从而实现近转移 retf指令用栈中的数据,修改CS和IP的内容,从而实现远转移 ret指令 1)(IP)=((ss...
38
热度 -
[综合] 王爽 《汇编语言》 读书笔记 十一 标志寄存器
第十一章标志寄存器 标志寄存器 1)用来存储相关指令的某些执行结果 2)用来为cpu执行的相关指令提供行为依据 3)用来控制cpu的相关工作方式 标志寄存器flag存储程序状态字(PSW) 8086点flag寄存器各位有不同的含义 CF,PF,AF,ZF,SF,TF,IF,DF,OF 11....
98
热度 -
[综合] 《数据结构与算法分析》 - 数学证明 log X X 对于任意X 0成立
1.证明logX<X对于任意的X>0都成立 采用了数学归纳法 1)当0<X<=1时候。 由于log1=0,当X<1时logX<0 所以logX<X得证 2)当x>1时采用数学归纳法 (假设当x>1时,logx<x,推导出log(x+1...
5
热度 -
[综合] 王爽 《汇编语言》 读书笔记 十二 内中断
第十二章内中断 中断:cpu能接收到内部或外部的某种信息,cpu不再接着向下执行,而是转取处理这个特殊信息。 12.1内中断的产生 cpu内部有下面情况发生将产生相应的中断信息。 1)除法错误,比如,执行div指令产生的除法溢出(中断码0) 2)单步执行(1) 3)执行into指令(4) 4)执...
50
热度 -
[综合] 王爽 《汇编语言》 读书笔记 十四 端口
第十四章端口 cpu中通过总线连接的设备除了各种存储器以外还有以下3种芯片。 1)各种接口卡(比如,网卡,显卡)上的接口芯片,它们控制接口卡进行工作; 2)主板上的接口芯片,cpu通过它们对部分外设进行访问。 3)系统芯片,用来存储相关的系统信息,或进行相关的输入输出处理。 这些芯片中的,都有一组...
66
热度 -
[综合] 王爽 《汇编语言》 读书笔记 十五 外中断
第十五章外中断 体现了cpu的I/O能力。 1)cpu如何得知外设输入了? 2)cpu如何得到外设的输入? 15.1接口芯片和端口 cpu通过端口和外部设备进行联系 15.2外中断信息 外部设备通过外中断来通知cpu引发中断过程,处理外设的输入。 外中断源: 1.可屏蔽中断 可屏蔽中断是cpu...
81
热度 -
[综合] 《Windows核心编程》读书笔记五 作业
第五章作业 本章内容 5.1对作业中的进程施加限制 5.2将进程放入作业中 5.3终止作业中的所有进程 5.4作业通知 5.5JobLab示例程序 有时候为了完成某些任务需要执行一组进程,需要将一组进程作为一个组来管理。并且可以加以限制。 windows提供一个job内核对象,将应用程序组合在一...
60
热度 -
[综合] 《Windows核心编程》读书笔记十二 纤程
第十二章纤程 使用纤程(fiber) 为了兼容UNIX服务器应用程序的移植。 使用纤程 线程是在内核模式下实现的,操作系统控制。 而纤程是在用户模式下实现的,内核对纤程一无所知。 一个线程可以包含一个或多个纤程。(内核仅能调度线程,而纤程由我们调度) 将一个已有的线程转换为纤程 WINBASE...
62
热度 -
[综合] 关于使用FileMapping和直接操作File+缓存的IO性能对比
最近在看Windows核心编程17章 作者推崇使用FileMapping来进行大文件读写。虽然这样可以直接把文件映射到进程地址空间,由操作系统来进行后备的换成,换页等复杂操作。程序员只需要直接把文件当做内存地址来操作即可。 可是笔者发现这可能对于编码来说相对简单了,可是把缓存这些全交给操作系统来处理...
5
热度