自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

superyao2008的专栏

程序如机器,软件如女人。

  • 博客(47)
  • 资源 (1)
  • 收藏
  • 关注

原创 OpenCL里面read_image小测试

使用OpenCL处理图像的时候,通过read_image而不是普通的cl_mem似乎是一个十分诱人的方式。但通过实际测试,发现这个接口不像想象的那样好。我们选择AMD的显卡,使用新的驱动和SDK。然后测试read_imagef和read_imagei的数据读取结果,我们希望能够读取到插值值以后的数据,结果如下:(方括号里面的值是点的坐标,第一行是目标点坐标,后面两行是相邻点)1. 当sampl

2013-10-24 11:29:33 4727

原创 如何编译OpenCV里面的ocl模块

最近OpenCV代码库有SVN转到Git了,里面多了我们期待已久的ocl模块(一些接口的OpenCL加速版本,如果不知道OpenCL是啥,就自己查一下了,我这里不做介绍)我试了一下,在VS2010上面使用x64模式编译没有问题。下面是遇到一些问题的解决办法,跟大家分享一下:1. 在CMakeGUI里面选中“WITH_OPENCL”项,默认是不选的。2. 点击“configure”的时候,会

2012-07-27 11:01:33 5013 3

原创 赛车游戏的悖论

玩赛车游泳已经有些年头了,最近忽然明白了一件事情,那就是赛车游戏里的画面细节对于游戏的好坏而言是鸡肋。在GPU如此发达的今天,一个竞速游戏如果没有逼真的画面似乎说不过去,但事实上,当你专注于驾驶赛车的时候,你的精力完全被局限在道路,特别是远方的道路上,还有附近的对手上。至于路上的阴影,路边的花草树木和远方的山水都是一种衬托而已。所以,一款成功的赛车游戏,绝对需要良好的操控感受、设计合理的赛道和聪明

2012-06-16 20:57:17 849

原创 工程师的品德

凭生头一次,我听说一个软件应该做的越慢越好。

2012-01-07 10:32:20 718

原创 小型软件开发的四个阶段

1. 预研这个阶段要把各种算法以及技术路线方面的不确定问题做一个尝试。代码可以相当随意,也不用担心架构,但是务必要把各种问题覆盖全面,例如exe下能够做到的,换成dll是否还能。这个阶段不拘一格,八仙过海,各显神通。2.设计这是需要定义接口,数据类型,以及用户界面的时候。将体现架构师的经验和工程才能。比如模块要高内聚,低耦合,等等等等。独断是必要的,否则一人一个主意,搞的乱七八糟。设计

2011-11-26 09:51:58 1903

原创 关于高精度时间获取

cpu 高精度 时间

2011-02-09 16:08:00 493

原创 PC与万花筒

pc还是20年前的概念吗?

2010-08-21 09:53:00 538

原创 软件是什么车

软件是德系还是日系?

2010-08-21 09:51:00 680

原创 windows bat 文件脚本例子

window bat 脚本

2010-07-05 12:05:00 2336

原创 部分赛车游戏对方向盘支持程度记录

方向盘型号为Saitek R660 游戏列表:LifeForSpeed:游戏对方向盘支持良好,但是玩起来不易控制,经常出现车子不停摆动情况。Richard Burns Rally(RBR):方向盘支持优秀,路感细腻,但是道路较窄,车速一快就会撞车。Need For Speed Underground(NFS7):方向盘支持良好,路感基本具备,但是漂移赛比手柄还要难玩。Mid

2010-02-28 10:14:00 1117

原创 基于Winmm库的音频采集

Winmm库提供的音频采集接口比较底层,可以直接获取和播放wave数据。其主要流程如下:采集1. waveInOpen()2. waveInStart()3. waveInPrepareHeader()4. waveInAddBuffer()5. waveInUnprepareHeader()6. waveInStop()7. waveInReset()8. waveInClose()如果是不停的

2009-06-16 20:17:00 3272

转载 IT人才12项技能

1 机器学习  Scott说,随着许多公司努力开发需要在庞大的数据集中查找数据的软件,譬如协作式过滤、垃圾邮件过滤和欺诈检测等软件,一些观察人士发现, 市场对以下这些人才的需求在迅速上升: 具有机器学习知识,或者能够设计及开发可提升计算机性能的算法和技术。不单单对谷歌而言是这样。有许多应用软件包含非常庞大的数据集,这就带来了一个根本问题,即如何组织数据并提供给用户。  对这种应用软件的需求进一步扩

2009-05-07 09:27:00 368

原创 基于Dshow的视频采集

Dshow提供了一个基于COM的Windows下视频处理框架,通过Dshow也可以比较方便的和各种视频采集设备接口,此处介绍一个简单的视频采集的FilterGraph。组成是:DeviceFilter -> SampleGrabberFilter -> NullFilter。其中DeviceFilter用来获取和设置摄像机的采集参数,SampleGrabberFilter用来获得采集到的视频帧,N

2009-04-26 20:04:00 925

原创 发个开源软件

第一次想到要将自己做的小工具发布出来给别人用,看了看华军,天空这些地方,感觉发布过程挺复杂的(需要审批),干脆作为csdn上传资源吧。把软件release了一下,填写了一些属性信息,about对话框,最后起个名字叫iPica(因为是个图片转换工具),就差自己做个图标了,不过算了,估计也不会有什么人用。

2009-04-18 09:54:00 533

原创 应用SOCKS服务器实现P2P转发

服务器转发是解决两个子网内主机直接通信的最后办法,在STUN协议当中定义了相关规范,不过看了一下SOCKS代理服务器协议,觉得也可以实现,具体方法如下:需要被连接的一方首先通过BIND操作在代理服务器上面开辟一个监听端口,然后通过外部数据通道将代理服务器上的监听地址传给peer,peer就可以连接上了。

2009-03-19 10:40:00 1488

原创 XMPP协议摘要

总体描述 一个会话以开头,结束,中间可以有任意长的信息流 包含的属性有tofromidxml:lang四种,用法如下                 |  initiating to receiving     |  receiving to initiating   -----------+-------------------------------+-----

2009-03-10 15:17:00 479

原创 之字形访问数组算法

 void ZVisit(int** array,int size){ int i=0,j=0; printf("%d ",array[i][j]); j++; //首先向右一步 printf("%d ",array[i][j]); while (i<size || j<size) { while((j-1)>=0 && (i+1)<size){ //向左下

2009-01-23 09:22:00 719

原创 用select使Accept()具有超时能力

因为是在线程里面调用Accept(),所以不希望一直阻塞。struct timeval timeout={2,0};fd_set rfd;int nfds;while (1){    FD_ZERO(&rfd);    FD_SET(listen,&rfd);    nfds = select(1,&rfd,(fd_set*) 0,(fd_set*) 0,&

2008-12-28 13:03:00 7136 1

原创 二分法查找有序数组

int find(int* array, int begin, int end, int aim){    do     {        int mid=begin+(end-begin)/2;        if(array[mid]==aim) return mid;        else if (aim        else begin=mid;  

2008-12-26 10:13:00 787

原创 快速排序

int HandShake( int* array, int start, int end ){  int tmp=array[start];//将首个元素作为中间值,并寄存起来   do{    while( array[end]>=tmp && start    if( start      {array[start]=array[end];//发现一个小的,丢到前

2008-12-21 16:16:00 330

原创 C语言常用

宏的一些用法#操作符例如#define str(x)  #x如果在程序中输入语句str(testing)最终展开形式将会是"testing"##操作符例如#define printx(n) printf("%d/n", x##n)语句中的字符串“x##n”的##操作符将前面和后面的记号连接起来,合成一个新的记号printf(20);将被展开成如下形式:printf("%d/n",f20);

2008-12-01 15:33:00 512

原创 ACE_Message_Block及ACE_Message_Queue相关方法

2008-12-01 13:23:00 742 1

原创 一些linux命令

查找 /test 目录下包含“user”字符串的文件find /test | xargs grep "user" 查找 /test 目录下名称为main.cpp的文件find /test -name main.cpp 查找 acc.log文件中包含flv的行awk /flv/ acc.log 查找 acc.log文件中第三字段包含flv的行并打出第一字段的内

2008-11-26 17:11:00 326

原创 晚间闲逛

我一个人行走在被暮色笼罩的商品楼小区里,路灯懒散的光仅仅能够指路,四周是昏昏暗暗的,倒是路旁高大楼房里面落地大窗里的灯光更能提醒人身在何处。

2008-11-25 20:06:00 372

转载 利用GetPrivateProfileString读取配置文件(.ini)

转自http://hi.baidu.com/jywb_pub/blog/item/1bb0a30132f01d00738da5f3.html 配置文件中经常用到ini文件,在VC中其函数分别为:写入.ini文件:bool WritePrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpString,LP

2008-11-21 11:38:00 449

原创 MYSQL C API 一例

一个获取查询结果的例子std::string sql="select userid from user";if ( mysql_real_query(&mysql,sql.c_str(),sql.size())!=0 ){ return FALSE;}MYSQL_RES *sql_res_set;MYSQL_ROW sql_row;unsigned long *sql_length;sql_r

2008-11-20 14:49:00 363

转载 NAT分类

转自http://blog.csdn.net/wuhuiran/archive/2008/03/31/2234314.aspx 第一部分: NAT介绍 各种不同类型的NAT(according to RFC)Full Cone NAT: 内网主机建立一个UDP socket(LocalIP:LocalPort) 第一次使用这个socket给外部主机发送数据时NAT会给其分配

2008-11-10 13:06:00 1272

原创 ubuntu下安装jdk

首先下载jdk的bin文件,我是从官网下的jdk-6u7的版本然后直接运行它 ./jdk-6u7... 安装完发现这个bin程序会在当前文件夹下建立一个jdk的文件夹,里面是所有相关文件要让系统知道这个java环境的存在,需要添加环境变量,编辑/etc/profile文件,加入如下内容export JAVA_HOME = /usr/java/jdk1.6.0_07export CLASSPATH

2008-10-05 10:03:00 379

原创 ubuntu硬盘安装

由于没有刻录机,尽管硬盘上空着一个10G的区域没有被windos使用,一直没敢装linux,仅仅在虚拟机上试试,后来听说用grub程序可以,决定搞一搞。中间失败多次,使得windos也进不去了,不过经过多次尝试,最后还是装上了。步骤大致如下:1. 需要下载linux的镜像光盘,我用的是unbuntu8.04,下载后放到fat32分区去(幸好我当初规划硬盘分区时留了一个fat32的),把grubfo

2008-09-20 10:09:00 548

原创 ACE读取ini格式的配置文档

不多说了,功能很清楚,从ini格式文档读取配置信息进来。不过在使用中发现好像读进来的数据只能是字符串类型(get_integer_value好像不管用)#include "ace/Configuration_Import_Export.h"ACE_Configuration_Heap config;ACE_Ini_ImpExp ini(config);config.op

2008-08-24 09:37:00 560

原创 bt协议当中一些易被滥用的地方

 对于seeder缺少奖励机制使其留在网络中tracker成为系统瓶颈上传速率作为结点选择依据具有片面性一人多结点连接seeder,会使seeder对其他结点的上传减低,一人多节点连接其他peer,会妨碍其他peer找到更好的peer仅仅选择seeder下载数据,避免了上传仅仅以最低速率上传数据来防止被其他结点choke恶意结点发送不符合要求的chunk来获得较高的上传速率

2008-07-24 17:00:00 451

原创 c++循环包含一种解决方法

 上次在一个设计当中遇到A类调用B类,B类又调用A类的问题,由于循环包含搞了半天,后来觉得还是将其用接口方式实现好一些,也就是将会被别人调用的方法写成抽象类放在一个公共文件中,包含的时候都使用抽象接口,如下面的例子:先设计一个公共包含的x.h#ifndef X_H#define X_Hclass ABase{public: virtual void aa() = 0;};class

2008-07-24 16:55:00 1216

原创 ACE log使用助记

基本使用:ACE_DEBUG ( (LM_DEBUG, "no file found/n") );ACE_DEBUG ( (LM_DEBUG, "piece%d", i) );ACE_ERROR_RETURN ( (LM_ERROR, "get file %s faild/n", filename), -1 );  log的严重等级有如下的几种:LM_TRACE  Me

2008-07-20 11:28:00 1450

转载 从Windows移植到Linux

socket相关程序从windows移植到linux下需要注意的1)头文件windows下winsock.h/winsock2.hlinux下sys/socket.h错误处理:errno.h2)初始化windows下需要用WSAStartuplinux下不需要3)关闭socketwindows下closesocket(...)linux下clos

2008-07-10 13:54:00 927

原创 工厂模式简述

工厂模式的特点其实也是将抽象操作和具体类型隔离,将抽象操作放在基类,具体类型放在子类。例如我们定义一个汽车组装类,每种汽车都有组装流程,但是我们可以抽象出一系列操作,例如冲压外壳,喷漆,安装发动机,安装内饰等。这些操作可以对应于一个抽象的汽车类,这样就可以把全部的抽象放在两个基类里面:装配类和汽车类。然后在实现的时候可以定义具体的汽车型号。例如设计了一款家用的MPV车,就继承自抽象汽车类,然后

2008-07-09 20:59:00 1202

原创 windows控制台程序获取中断的简单程序

写简单的控制台程序的时候如果需要在用户通过Ctrl-C结束程序前进行一些收尾工作,那么首先要获取中断信号,下面程序是一个示例 #include #include#include void sigint_catch(int sig_no){ printf("will quit .../n"); if(SIGINT == sig_no){

2008-07-09 10:13:00 1750

原创 bt协议与emule协议几点区别

最近把emule协议通读了一下,和以前研究的bt协议做了个对比,当然差别还是相当大的,此处仅简单列出几点:bt协议不包括文件搜索,该过程要由用户自己进行,在找到感兴趣的文件后要首先获取一个torrent文件,根据该torrent文件找到服务器,进而找到其他peer;emule协议中的文件搜索也是由协议规定的,在结点启动的时候向服务器发起文件查询请求,服务器返回查询结果,进而得到相关的peer列

2008-06-25 21:08:00 3674 3

原创 ACE在linux下配置使用经验

虽然在windows上使用ACE已经比较熟练了,不过在linux上还用的不多,今天配置了一个环境,查了不少资料,最后才搞明白,不过还是值得的。首先是下载一个完整版程序(官方还提供单独源码的,没有试过)到系统上解压缩。然后在里面建立一个build文件夹,进入后运行configure和make,make install命令。在虚拟机上跑了好长时间才make完,make install完成后会把必要

2008-06-22 16:44:00 1528

原创 排列组合程序

今天忽然想起高中最基本的排列组合公式,想起用程序实现一下将排列组合各项列出来的功能。由于是递归写法,还是调试了一些时候才搞出来,不过感觉写法还是比较简洁的,记录在这里,还有改进余地。 typedef std::vector IntVec;typedef IntVec::iterator IntVecIter;//组合数的递归算法//begin i

2008-06-19 20:42:00 4805

原创 一见钟“情”还是一见钟“性”

今天看一个欧美的赛车电影,里面的小伙子对那小姑娘一见之下就被深深吸引,走了过去……

2008-06-14 20:59:00 737

iPica (MP4图片自动转换工具)

用于自动批量将各种不同尺寸的图片转换成规定的尺寸而保证原来的比例。 工具会根据需要对图片进行截取来适应目标尺寸,支持jpeg,bmp等常用格式。

2009-04-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除