摘要: 方案选择 Android中集成ffmpeg的codec功能无非两种方式: 考虑到性能问题,我选取的方案二即集成ffmpeg到OMX。首先第一个问题就是ffmpeg的编译。也有两种方式: FFmpeg配置 32bit编译配置: 1 #!/bin/bash 2 3 chmod 777 ./configu 阅读全文
posted @ 2018-12-01 17:38 startcool 阅读(3685) 评论(0) 推荐(0) 编辑
摘要: 程序员这个职业究竟可以干多少年,在中国这片神奇的土地上,很多人都说只能干到30岁,然后就需要转型,就像《程序员技术练级攻略》这篇文章很多人回复到这种玩法会玩死人的一样。我在很多面试中,问到应聘者未来的规划都能听到好些应聘都说程序员是个青春饭。因为,大多数程序员都认为,编程这个事只能干到30岁,最多35岁吧。每每我听到这样的言论,都让我感到相当的无语,大家都希望能像《21天速成C++》那样速成,好多时候超级有想和他们争论的冲动,但后来想想算了,因为你无法帮助那些只想呆在井底思维封闭而且想走捷径速成的人。今天,我们又来谈这个老话题,因为我看到一篇论文,但是也一定会有很多人都会找出各种理由来论证这篇 阅读全文
posted @ 2014-04-12 19:15 startcool 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 1、启动GDB 1、gdb <program> program也就是你的执行文件,一般在当然目录下。 2、gdb <program> core 用gdb同时调试一个运行程序和core文件,core是程序非法执行后core dump后产生的文件。 3、gdb <program> <PID> 如果你的程序是一个... 阅读全文
posted @ 2013-03-25 17:53 startcool 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 1、基本概念线程安全:如果一个函数在同一时刻可以被多个线程安全地调用,就称该函数是线程安全的。线程安全函数解决多个线程调用函数时访问共享资源的冲突问题。可重入:函数可以由多于一个线程并发使用,而不必担心数据错误。可重入函数可以在任意时刻被中断,稍后再继续运行,不会丢失数据。可重入性解决函数运行结果的确定性和可重复性。可重入函数编写规范为: 1、不在函数内部使用静态或全局数据 2、不返回静态或全局数据,所有数据都由函数的调用者提供。 3、使用本地数据,或者通过制作全局数据的本地拷贝来保护全局数据。 4、不调用不可重入函数。 对于普通的C函数的可重入是指当一个函数被不... 阅读全文
posted @ 2013-03-23 23:06 startcool 阅读(586) 评论(0) 推荐(0) 编辑
摘要: 1、安装eclipse+cdt 1)到http://www.eclipse.org/downloads/,下载Eclipse IDE for C/C++ Developers并安装。 2)启动eclipse->help->Install New Softwate 2、编译ffmpeg #!/bin/sh sudo make distclean ... 阅读全文
posted @ 2013-03-01 14:10 startcool 阅读(639) 评论(0) 推荐(0) 编辑
摘要: 威胁不是提高业绩最好的方法,如果分配的时间一开始就不够,不管威胁有多么吓人,工作也无法按时完成。更糟糕的是,如果目标没有实现,你就必须兑现你的威胁。 在战役开始的时候,管理者真正的工作已经完成了。 面试和招聘 招聘涉及到所有与管理相关的身体部位:心、灵魂、鼻子和肠胃(但是主要是肠胃)。不要试图单独去招聘—— 两副肠胃远比一副肠胃的两倍要好。 对于新... 阅读全文
posted @ 2013-01-28 23:14 startcool 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 1、循环服务器模型:在同一个时刻只可以响应一个客户端的请求 1)循环服务器:UDP服务器UDP循环服务器的实现:UDP服务器每次从套接字上读取一个客户端的请求,处理, 然后将结果返回给客户机. 因为UDP是非面向连接的,没有一个客户端可以老是占住服务端. 只要处理过程不是死循环, 服务器对于每一个客户机的请求总是能够满足.算法示例如下:socket(...); bind(...); while(1) { recvfrom(...); process(...); sendto(...); }2)循环服务器:TCP服务器 TCP循环服务器的实现:TCP服务器接受一个客户端的连接,然后... 阅读全文
posted @ 2013-01-06 16:17 startcool 阅读(1165) 评论(0) 推荐(1) 编辑
摘要: PrecedenceOperatorDescriptionExampleAssociativity1()[]->.::++--Grouping operatorArray accessMember access from a pointerMember access from an objectScoping operatorPost-incrementPost-decrement(a + b) / 4;array[4] = 2;ptr->age = 34;obj.age = 34;Class::age = 2;for( i = 0; i < 10; i++ ) ...for 阅读全文
posted @ 2013-01-04 22:08 startcool 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 1、写一个函数计算当参数为n(n很大)时的值 1-2+3-4+5-6+7……+nlong fn(long n) { if(n<=0) { printf("error: n must > 0); exit(1); } if(0==n%2){ return (n/2)*(-1); } else { return (n/2)*(-1)+n; }} 阅读全文
posted @ 2013-01-04 21:57 startcool 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 1、进程与线程的区别区别进程线程概念进程是表示资源分配的基本单位。线程是操作系统可识别的最小执行和调度单位。线程体现的特征是可执行的,是CPU资源的分派单位。关系一个进程可以有多个线程,但至少有一个线程。一个线程线程必定是属于某个进程的。资源分配资源只分配给进程,同一进程的所有线程共享该进程的所有资源。 同一进程中的多个线程共享代码段(代码和常量),数据段(全局变量和静态变量),扩展段(堆存储)。当进程结束时,所有的资源被回收。每个线程有自己独立的栈段,栈段又叫运行时段,用来存放所有局部变量和临时变量。当进程结束时,线程作为进程的资源也会被终止。系统 开销 创建或撤消进程时,系... 阅读全文
posted @ 2013-01-04 18:52 startcool 阅读(400) 评论(0) 推荐(0) 编辑