- 博客(60)
- 收藏
- 关注
转载 linux下查看负载信息
linux与win管理内存不一样,前者是充分利用系统内存,后者无论使用多大内存都一定使用虚拟内存(linux中swap)。所以linux内存使用达到90%是正常,但是不会达到100%,因为达到时就会启用swap。至于为什么linux下内存占用高:a、linux把剩余的内存都用做磁盘缓存了,这样可以减少硬盘读写次数,Linux在磁盘操作上的速度是要比windows快的。这样做并不会影响系
2013-05-08 16:09:52 3418
原创 MFC的add files to project...失效的解决办法
1、到http://download.microsoft.com/download/vc60ent/s1/6.0/w9xnt4/en-us/FileTool.exe去下载FileTool.exe2、解压之3、用VC6打开并编译出release版本的FileTool.dll4、将它放到C:\Program Files\Microsoft Visual Studio\Common\MSDe
2013-05-06 19:19:14 1019
原创 日常记录
1、volatile、pair2、vector随机访问比较快,但是如果是将要元素插入到vector的任意位置,则效率很低,因为它需要把待插入元素右边的每个元素copy一遍。3、二维数据new的问题。4、VC++下的_MSC_VER,定义编译器的版本5、ICE6、编程规范:最好不要使用using指示符,以保证不污染命名空间7、ActiveX中FindResource/
2012-02-04 17:45:50 880
转载 Mercurial-分布式版本控制系统
Mercurial 简介 Mercurial 是一种轻量级分布式版本控制系统,采用 Python 语言实现,易于学习和使用,扩展性强。其是基于 GNU General Public License (GPL) 授权的开源项目。相对于传统的版本控制,具有如下优点: 更轻松的管理。传统的版本控制系统使用集中式的 repository,一些和 repository相关的管理就只能由管
2010-05-30 12:15:00 1186
转载 前置声明
作者:朱金灿http://blog.csdn.net/clever101 类的前置声明(forward declaration)和包含头文件(#include)的区别常常会迷惑我们,特别是涉及两个类相互包含的时候。因此我们有必要搞清楚二者的区别以及二者的适用场合。 首先我们需要问一个问题是:为什么两个类不能互相包含头文件?所谓互相包含头文件,我举一个例子:我实现了两个类
2010-05-11 16:00:00 3068 2
原创 cygwin新旧双版本安装及配置
要在本机安装新旧两个不同版本的CYGWIN需要进行以下配置1、先安装一个版本,比如旧版本2、删除注册表中的HKEY_LOCAL_MACHINE/SOFTWARE/Cygnus Solutions3、安装新版本4、注意有个规律,HKEY_LOCAL_MACHINE/SOFTWARE/Cygnus Solutions里配置的路径就是CYGWIN的运行版本(目录),只要将其路径改为想要的
2010-04-01 00:11:00 1465
原创 程序员如何进行用户界面设计
程序员设计的用户界面,其实大多数并不是一个好的界面,很多人写代码时,以为这样的功能比较强大应该加上去,那样的接口比较灵活应该加上去,可是往往到头来用户只用其中的一点功能,并且会有很多用户认为很难懂、很难用、容易操作失误,这是为什么呢?我认为主要是程序员编码的思想影响到了对用户界面的设计,很多程序员都有钻牛角尖、猎奇的倾向,喜欢所有东西都DIY,这也就促使他们在设计软件时,希望它非常灵活,很多功
2010-03-26 19:07:00 5098
原创 VLC总结
1、0.9.0之后的版本,VLC去掉了--no-tls-check-tls命令 2、0.9.0之前的版本,VLC不支持指定插件路径的命令 3、VLC指定插件路径若是使用相对路径,则开发ActiveX时会遇到找不到路径的问题,解决办法就是指定绝对路径,然后在ActiveX安装时指定下载到哪个路径下,或者在每次运行ActiveX前将文件转移一次(默认情况下ActiveX里的文件会解压安
2010-03-25 11:18:00 5457 2
转载 LINUX下tar.gz包的安装方法
LINUX下tar.gz包的安装方法 在tar.gz的东西不多了~~~~ ======================================== 大多以tar.gz 和tar.bz2打包软件,大多是通过 ./configure ;make ;make install 来安装的;有的软件是直接make;make install ; 我们可以通过./configure --help
2010-03-25 11:17:00 749
原创 点滴记录
UPS快递蓝天铁翼红旗军演超级大卡车(三峡)超级直升机(螺旋浆边缘侧角)科技反恐(直角枪、抗裂涂料)人体内旅行世界趣味广告挑战核能电厂(换芯)北京水立方(气泡框架、气泡塑纸、火灾、温控)巴林世贸中心(三架风力发电机)抢救切尔诺贝利磁悬浮列车 ==================================Head.First设计模式货
2010-03-05 22:24:00 388
转载 I帧、B帧和P帧的特点和编码的基本流程
I帧、B帧和P帧的特点:I帧:帧内编码帧I帧特点:1.它是一个全帧压缩编码帧。它将全帧图像信息进行JPEG压缩编码及传输;2.解码时仅用I帧的数据就可重构完整图像;3.I帧描述了图像背景和运动主体的详情;4.I帧不需要参考其他画面而生成;5.I帧是P帧和B帧的参考帧(其质量直接影响到同组中以后各帧的质量);6.I帧是帧组GOP的基础帧(第一帧),在一组中只有一个I帧;7.I帧不需要考虑运动矢量
2010-02-25 15:17:00 1148
原创 遇到的问题
1、class CITCBObject {};typedef void (CITCBObject::*CB_TimerFun)(void* pData);class CThreadTimer : public CITCBObject{ bool StartTimer(DWORD dwWaitTime, CITCBObject* pObj, CB_TimerFun pFu
2010-01-06 10:27:00 444
转载 亲密接触VC6.0编译器
亲密接触VC6.0编译器大家可能一直在用VC开发软件,但是对于这个编译器却未必很了解。原因是多方面的。大多数情况下,我们只停留在“使用”它,而不会想去“了解”它。因为它只是一个工具,我们宁可把更多的精力放在C++语言和软件设计上。我们习惯于这样一种“模式”:建立一个项目,然后写代码,然后编译,反反复复调试。但是,所谓:“公欲善其事,必先利其器”。如果我们精于VC开发环境,我们是
2009-12-25 22:35:00 373
转载 可变参数与printf
在 GNU C 中,宏可以接受可变数目的参数,就象函数一样,例如:#define pr_debug(fmt,arg...) /printk(KERN_DEBUG fmt,##arg)用可变参数宏(variadic macros)传递可变参数表 你可能很熟悉在函数中使用可变参数表,如: void printf(const char* format, …); 直到最近,可变参数表还是只能应用在
2009-12-25 22:29:00 1131
转载 C++资源之不完全导引
真没想到在C++领域居然有那么博学的人!!出处:http://dev.csdn.net/article/56/56334.shtmC++资源之不完全导引 [上] 撰文/ 曾毅 陶文 最后更新:2004年6月11日 声明: .本文2004年5月首发于《CSDN开发高手》,版权归该杂志与《程序员》杂志社所有。杂志限于篇幅部分内容有所删节,此处版本为相对完整版本。 .本文为介绍性文章,会随笔者学习C++
2009-12-25 22:08:00 829 1
原创 无锁编程
多核时代,多线程操作司空见惯,多线程读写同一块内存是很常见的情况,这时候大家都知道,一定要加锁,否则会出现读写冲突。但是锁操作有一定的坏处,比方说死锁,使用锁,会降低线程工作效率。如果多线程操作能够不关心内存块读写冲突,肯定会成倍提高效率。Lock-Free编程有三大优点:1、线程中止免疫:杀掉系统中的任何线程都不会导致其他线程被延迟2、优先级倒置免疫:所谓“优先级倒置”就
2009-12-25 20:57:00 438
转载 VC调试
1、afxmessagebox2、TRACE3、DebugLogShow4、ASSERT VERIFY5、WATCH窗口 @err,hr或@err6、BoundsChecker检查内存泄漏 VC++编译选项: 总是使用/W4警告级别 在调试版本里总是使用/GZ编译选项,用来发现在Release版本中才有的错误 没有警告的编译:保证在编译后没有任何警告,但
2009-12-03 13:33:00 387
转载 数字电视中的编解码器同步机制
数字电视中的编解码器同步机制 1、MPEG-2码流结构 在数字电视系统中,模拟视音频信号按照MPEG-2的标准,经过抽样、量化及压缩编码形成基本码流ES,基本码流ES是不分段的连续码流。把基本码流分割成段,并加上相应的头文件打包形成的打包基本码流PES(如图1所示),PES包和包之间可以是不连续的。在传输时将PES包再分段打成有固定长度188B的
2009-12-03 12:48:00 1785
转载 Mpeg-2的同步及时间恢复(转载)STC,PCR,DTS,PTS
蔡新国广州市广播电视网络有限公司 (广东广州 510010)摘要:Mpeg-2同步及时间恢复在编码、传输和解码中占有重要的地位,它不仅直接影响视音频的解码质量,还是衡量整个传输网络优劣的重要指标。本文将从原理上介绍Mpeg-2同步及时间恢复方法,并给出PCR测量的几个项目。关键字:STC,PCR,DTS,PTS 一、引言Mpeg-2用于视音频同步以及系统时钟恢复的时间标签分别在
2009-12-03 12:46:00 1854
转载 关于TS的解析
MPEG组织于1994年推出MPEG-2压缩标准,以实现视/音频服务与应用互操作的可能性,MPEG-2标准是针对标准数字电视和高清晰度电视在各种应用下的压缩方案和系统层的详细规定。对应于不同的应用,符合MPEG-2标准的码流又分为传送流和程序流,本文主要讲解了传送流有关的部分数据结构,从实际应用的传送流码流中截取了部分码流做了说明,并给出了部分解析传送流码流的实例程序。在MPEG-II标准中,为了
2009-12-03 12:40:00 2969
转载 高精度计数器
对关注性能的程序开发人员而言,一个好的计时部件既是益友,也是良师。计时器既可以作为程序组件帮助程序员精确的控制程序进程,又是一件有力的调试武器,在有经验的程序员手里可以尽快的确定程序的性能瓶颈,或者对不同的算法作出有说服力的性能比较。 在Windows平台下,常用的计时器有两种,一种是timeGetTime多媒体计时器,它可以提供毫秒级的计时。但这个精度对很多应用场合而言还是太
2009-11-30 11:29:00 1350 1
转载 OutputDebugString
在调试状态下,VC 等调试器可以捕捉程序中的 OutputDebugString 输出的信息。其实 OutputDebugString 就是往一片共享影射的内存中写入了一段数据,并创建了两个 Enevt,指明数据写入事件被触发。在非调试状态下,我们也可以通过编程实现捕捉 OutputDebugString 的输出。下面的代码演示了如何获取这些信息: DWORD WINAPI CDebugTra
2009-11-27 14:04:00 681
原创 纯资源DLL遇到的问题汇总
1、纯资源DLL,注意需要将与资源无关的文件删除,否则可能出现在IDE里看不到最新的资源 这样做可能会编译不过,出现__DllMainCRTStartup@12错误,在DEBUG中加入msvcrtd.lib,RELEASE中加入msvcrt.lib即可 2、软件不要Dependency资源DLL,否则出现寻找不到资源.lib,其实是不需要lib的 3、LoadStrin
2009-11-17 11:50:00 727
转载 [转]FFPLAY原理
概要电影文件有很多基本的组成部分。首先,文件本身被称为容器Container,容器的类型决定了信息被存放在文件中的位置。AVI和Quicktime就是容器的例子。接着,你有一组流,例如,你经常有的是一个音频流和一个视频流。(一个流只是一种想像出来的词语,用来表示一连串的通过时间来串连的数据元素)。在流中的数据元素被称为帧Frame。每个流是由不同的编码器来编码生成的。编解码器描述了实际的数据是如
2009-11-13 15:14:00 3263 1
原创 线程本地存储(TLS)
#include #include #define THREADCOUNT 4 DWORD dwTlsIndex; VOID ErrorExit(LPTSTR); VOID CommonFunc(VOID) { LPVOID lpvData;
2009-11-13 14:49:00 465
原创 成员函数回调
class CCBObject{};typedef void (CCBObject::*IT_CB_DownLoadRecFile) (char* sName, int iRang, int iPos);IT_DownloadRecFile( (CCBObject*)this, (IT_CB_DownLoadRecFile)CConfigDownloadDlg::Downl
2009-11-12 11:34:00 384
原创 提高内存池的并发效率
正常情况下,使用一个链表保存多个内存块地址,GetFreeBuf()时锁一下链表FreeBuf()时锁一下链表以保证链表资源共享不产生冲突 但是假如想再提高效率要怎么办呢不同的操作系统,临界区效率不一样假如锁与解锁效率比较低的话,我们可以使用链表头锁(HeadLock)和链表尾锁来优化(TailLock) 简单讲就是GetFreeBuf()时调用HeadL
2009-11-07 11:58:00 431
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人