编程
文章平均质量分 69
三强
努力前行,为遇见更好的自己
展开
-
Break 等各种跳出循环 总结
1)----break 跳出开关和一层循环(for),与if判断语句无关。2)----continue用在for循环里,用于跳出本次循环,进入下次循环。3)----对于goto, 建议最好不要用,除非用于些操作系统之类的程序,必须要用的情况。 对于多层循环,可以通过在多层循环-------------------------------------------原创 2013-05-29 17:14:02 · 795 阅读 · 0 评论 -
常用数据结构 及 队列、链表、堆栈的区别
数据元素相互之间的关系称为结构。有四类基本结构:集合、线性结构、树形结构、图状结构;集合结构:除了同属于一种类型外,别无其它关系线性结构:元素之间存在一对一关系常见类型有: 数组,链表,队列,栈,它们之间在操作上有所区别.例如:链表可在任意位置插入或删除元素,而队列在队尾插入元素,队头删除元素,栈只能在栈顶进行插入,删除操作.线性表相当于数组,在内存中连续存放数据;原创 2013-10-11 13:15:05 · 1835 阅读 · 0 评论 -
C 关键字
C一共只有32个关键字: auto :声明自动变量 short :声明短整型变量或函数 int: 声明整型变量或函数 long :声明长整型变量或函数 float:声明浮点型变量或函数 double :声明双精度变量或函数 char :声明字符型变量或函数 struct:声明结构体变量或函数 union:声明共用数据类型 enum :声原创 2013-09-27 12:00:48 · 533 阅读 · 0 评论 -
x264编译问题合集
[1] x264路径带空格 错误: 正在执行自定义生成步骤 nasm: error: more than one input file specified type `nasm -h' for help Project : error PRJ0019: 工具从"正在执行自定义生成步骤" 特征: nasm出现错误原因: 你的x264文件夹的路径中有空格,如下所示: D:/program转载 2013-10-12 15:31:50 · 767 阅读 · 0 评论 -
vs 运行x264和Linux下的运行
X264最大的特点在于其出发点是为了H.264的实用性。与JM相比,X264并没有完整的对H.264标准给与实现,而是舍去了一些对编码性能贡献很小但计算复杂度极高的新特性,如多参考帧、帧间预测中不必要的块模式等技术。从而计算复杂度降低,编码效率却并没有明显降低。码流兼容H.264。在实用的系统中,比如比较普遍的在DSP芯片上实现H.264,大多是移植X264代码。在Windows系统下实现转载 2013-10-12 16:45:27 · 1266 阅读 · 0 评论 -
字符串反转操作汇总
解法一:第一次看到这题目,想到最简单、最直觉的解法就是:遍历字符串,将第一个字符和最后一个交换,第二个和倒数第二个交换,依次循环,即可,于是有了第一个解法:char* strrev1(const char* str){ int len = strlen(str); char* tmp = new char[len + 1];原创 2013-10-24 15:40:55 · 532 阅读 · 0 评论 -
Ubuntu 模拟ARM开发环境
为了简化开发和测试过程,Ubuntu从9.10开始提供静态的ARM虚拟功能,可以直接在PC机上建立ARM机器的chroot环境,既可以编译,也可以测试程序。相比于交叉编译而言,这种方法虽然编译速度较慢,但配置方便,还具备直接调试的功能。先安装Ubuntu提供的ARM虚拟程序:1sudoapt-get install qemu-arm-static转载 2014-01-02 17:02:16 · 713 阅读 · 0 评论 -
跨平台使用Intrinsic函数范例1——使用SSE、AVX指令集 处理 单精度浮点数组求和(支持vc、gcc,兼容Windows、Linux、Mac)
作者:zyl910。 本文面对对SSE等SIMD指令集有一定基础的读者,以单精度浮点数组求和为例演示了如何跨平台使用SSE、AVX指令集。因使用了stdint、zintrin、ccpuid这三个模块,可以完全避免手工编写汇编代码,具有很高可移植性。支持vc、gcc编译器,在Windows、Linux、Mac这三大平台上成功运行。一、问题背景 最初,我们只能使用汇编语言来编写SI转载 2014-01-09 10:17:44 · 1681 阅读 · 0 评论 -
基于ARM的模拟器
http://www.cnblogs.com/zhouchanwen/archive/2012/03/07/2384391.htmlARM的ARMulator: ARMulator 是一个在 ARM 公司推出的集成开发环境 ADS (ARM Developer Suite)中提供的指令集模拟器。它与运行在通用计算机(通常是x86体系结构)上的调试器相连接,模拟 ARM 微处理器体系结构和转载 2013-12-27 09:39:34 · 1084 阅读 · 0 评论 -
Linux 下的压缩解压命令大全
.tar 解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————————.gz解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName.tar.gz 和 .tgz解压:tar zxvf转载 2014-02-08 11:57:58 · 535 阅读 · 0 评论 -
GDB 的使用详解
gdb 使用方法 C语言链表程序gdb使用 2007-05-24 16:28:34| 分类:linux | 标签:gdb |举报|字号大中小 订阅gdb使用在linux下做东西,gcc,gdb是避不开的,刚开始使用比较麻烦,永久了感觉还是挺好用的。redhat里面自带一个gdb的图形前端转载 2014-02-26 16:27:26 · 798 阅读 · 0 评论 -
ARM处理器NEON编程及优化技巧—左移右移等移位操作
ARM的NEON协处理器技术是一个64/128-bit的混合SIMD架构,用于加速包括视频编码解码、音频解码编码、3D图像、语音和图像等多媒体和信号处理应用。本文主要介绍如何使用NEON的汇编程序来写SIMD的代码,包括如何开始NEON的开发,如何高效的利用NEON。首先会关注内存操作,即如何变更指令来灵活有效的加载和存储数据。接下来是由于SIMD指令的应用而导致剩下的若干个单元的处理,然后是用一转载 2014-02-19 11:21:18 · 2202 阅读 · 0 评论 -
ARM处理器NEON编程及优化技巧——矩阵乘法的实例
ARM的NEON协处理器技术是一个64/128-bit的混合SIMD架构,用于加速包括视频编码解码、音频解码编码、3D图像、语音和图像等多媒体和信号处理应用。本文主要介绍如何使用NEON的汇编程序来写SIMD的代码,包括如何开始NEON的开发,如何高效的利用NEON。首先会关注内存操作,即如何变更指令来灵活有效的加载和存储数据。接下来是由于SIMD指令的应用而导致剩下的若干个单元的处理,然后是用一转载 2014-02-19 11:47:19 · 8100 阅读 · 0 评论 -
Bjontegaard metric :BDBR和BD-PSNR
A、VCEG 建议采用Bjontegaard metric described in [1] to provide relative gain between two methods,by measuring average difference between the two RD-curves. 参考[3]中的文档提供了这两种值的计算工具:the bitrate saving be转载 2014-03-05 22:24:41 · 1594 阅读 · 0 评论 -
H.264视频的RTP荷载格式
H.264视频的RTP荷载格式目录 1. 介绍 ........................................ 3 1.1. H.264 Codec ............................... 3 1.2. 参数集概念 ..........................转载 2013-10-10 10:01:39 · 1080 阅读 · 0 评论 -
输入N个数组,求出其最大最小值及计算复杂度
#include #include int main(){ int iter = 0; int cnt = 0; int N; printf("Input the array length N: "); scanf("%d", &N); printf("Please input %d (int) number:\n ",N原创 2013-10-04 15:01:34 · 1788 阅读 · 0 评论 -
字符串操作
任务1:输入一个字符串和一个正整数x,将该字符串中的后x个字符复制到另一个字符串y中,再对y串的内容前后倒置后存入数组z中并输出。要求:用指针访问数组元素、用函数getx(char *c1)实现复制、用函数getr(char *c2)实现倒置。运行示例Enter a string: abcABCDEnter an integer: 4The new string is转载 2013-06-07 15:53:00 · 565 阅读 · 0 评论 -
每个程序员都应该知道的论文和文章
http://projectmona.com/bits-of-brilliance-session-five/里面内容很杂但很丰富,是UIUC教授Jeff Erickson在编程方面的个人收集(其他收集可以参见:http://projectmona.com/bits-of-brilliance/ 包括费曼、尼采和特斯拉等等)。其中比较有价值的有:算法笔记:http://compge转载 2013-07-02 09:28:47 · 513 阅读 · 0 评论 -
字符编码笔记:ASCII,Unicode和UTF-8
作者: 阮一峰日期: 2007年10月28日今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料。结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点,才算初步搞清楚。下面就是我的笔记,主要用来整理自己的思路。但是,我尽量试图写得通俗易懂,希望能对其他朋友有用。毕竟,字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂得一点字符编码的知识。转载 2013-07-02 09:43:55 · 482 阅读 · 0 评论 -
二维数组定义及动态分配空间
下面三种定义形式怎么理解?怎么动态分配空间?(1)、int **Ptr;(2)、int *Ptr[ 5 ]; 我更喜欢写成 int* Prt[5];(3)、int ( *Ptr )[ 5 ];此文引自网上,出处不详,但是觉得非常好。略改了一点。多维数组一向很难,一般都采用一维数组,但是一旦要用到还真是头疼。闲话少说,这里我就以三个二维数组的比较来展开讨论: (1转载 2013-07-02 14:47:38 · 633 阅读 · 0 评论 -
猜数列游戏( Fibonacci、Luccas、Pell、Triangular)c++实现
#include#include#include#includeusing namespace std;int main(){long Fibonacci(int index);long Luccas(int index);long Pell(int index);long Triangular(int index);long Square(int in转载 2013-07-22 09:27:26 · 1232 阅读 · 0 评论 -
HEVC学习与研究】11.HEVC参考解码器的设置及参数解析过程
之前已经讨论过如何运行HM的encoder工程,已经可以成功将一个yuv测试序列编码为一个.bin格式的二进制码流。这里我们再看看它的逆过程,即将二进制码流进行解码。在整个HM的solution中很明显可以看到解码器的工程TAppDecoder,将这个工程设置为启动工程(在工程目录上右单击->set as startup project),设置工程属性,主要是命令行参数(右键—>Prope转载 2013-08-03 08:58:46 · 1241 阅读 · 0 评论 -
对-128的补码的理解
http://blog.chinaunix.net/uid-16249993-id-2750042.html今天看到一个问-128的补码为何就是 1000 0000的贴子.问是如何计算出来?是不是还是按:取相应正数的原码,最高位即符号位,取1,其余各位取反后整个得值 +1?按我的理解(上学时学c语言就是这样理解的,老谭那本书上讲整数的取值范围那段就有)16位int -32转载 2013-08-28 10:55:38 · 553 阅读 · 0 评论 -
C++开源算法库OpenSAL(Open Standardized Algorithm Library)
http://www.oschina.net/code/OpenSAL包括了《算法导论》中的几乎所有数据结构和算法(标准库中已有的、不通用的或太简单的除外)。包含算法导论中数据结构:一般堆、二项堆、斐波那契堆、红黑树、通用散列(采用全域散列和完全散列技术)、不相交集合;包含算法导论中的算法:15个常用图论算法、20多个常用代数方面的算法、若干其他算法。包含自己发明的一个编程技术(任意维数组)、转载 2013-09-03 19:08:24 · 3138 阅读 · 0 评论 -
Linux操作系统下杀死进程命令的方法
作者: kid 出处:赛迪网 阅读提示:在输入killall name可能不会在非 Linux 系统上产生预期的效果, 特别是特权用户执行时要小心。在两次扫描的间隙, 如果进程消失了而被代之以一个有同样 PID 的新进程, killall -w 侦测不到。 1. kill 作用:根据进程号杀死进程 用法: kill [信号代码] 进程I转载 2013-09-13 10:31:20 · 724 阅读 · 0 评论 -
c/c++ bytes与int,short,long,float,double相互转换
templatestatic T bytes2T(unsigned char *bytes){ T res = 0; int n = sizeof(T); memcpy(&res, bytes, n); return res;}templatestatic unsigned char * T2bytes(T u){ in转载 2013-09-12 22:19:37 · 6922 阅读 · 0 评论 -
一个合格的程序员应该读过哪些书
编者按:2008年8月4日,StackOverflow 网友 Bert F 发帖提问:哪本最具影响力的书,是每个程序员都应该读的?“如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西。”很多程序员响应,他们在推荐时也写下自己的评语。以前就有国内网友介绍这个程序员书单,不过都是推荐数 To转载 2013-09-16 16:13:55 · 732 阅读 · 1 评论 -
Linux系统常用命令快速入门
我退化了,到现在我还不会游泳,要知道在我出生之前,我绝对是游的最快的那个!Linux系统常用命令快速入门目录Linux系统常用命令快速入门文件和目录操作的基本命令1、pwd命令2、cd命令3、ls命令4、locate 命令5、clear 命令6、cat命令7、head 命令8、tail 命令9、grep 命令10、chmo原创 2013-09-16 17:09:03 · 902 阅读 · 0 评论 -
C 语言动态分配数组
如何动态的定义及使用数组呢?记得一般用数组的时候都是先指定大小的。当时问老师,老师说是不可以的。后来又问了一位教C++的老师,他告诉我在C++里用new可以做到,一直不用C++,所以也不明白。今天在逛论坛时终于找到了C语言中的用法(看原贴): int *a; int N; scanf("%d", &N); a = (int *) malloc(N * s转载 2013-10-04 10:34:00 · 853 阅读 · 0 评论 -
assert()函数用法总结
assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include assert.h>void assert( int expression ); assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。请看下面的程序清单badptr.转载 2014-04-16 14:55:10 · 600 阅读 · 1 评论