
C++相关
ucasliming
本人优快云博客:http://blog.youkuaiyun.com/blognkliming,欢迎来访!
平台方面:
熟悉Windows、Linux、Arm(Android)平台开发;
编程方面:
熟练使用C、C++、C#、JAVA等;
项目方面:
熟悉MapReduce架构,熟悉Hadoop平台,在分布式机器学习算法的开发方面有一定经验;
熟悉自然语言处理方面相关的开发,对Lucene、Stanford NLP、Paoding、ICTCLAS等一些常用的分词工具、检索系统、语法分析器等都有较深入的理解;
熟悉网络编程,对TCP/IP、HTTP等协议以及网络安全相关的算法应用都有较深入的理解;
熟悉图形学编程,熟练使用OpenGL中的各种着色器,熟练使用Kinect等深度感应器做虚拟现实相关的开发,对物理仿真、三维服装试穿技术等都有较深入的理解;
算法方面:
机器学习(深度学习) -- 图像和文本的检测、分类及推荐系统算法等;
图形学 -- 人体建模、骨骼动画、运动数据迁移、蒙皮、三维虚拟试穿算法等;
如果有意合作,请联系我:
QQ 1103977600
展开
-
C++静态库与动态库
什么是库库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。库有两种:静态库(.a、.lib)和动态库(.so、.dll)。所谓静态、动态是指链接。回顾一下,将一个程序编译成可执行程序的步骤:图:编译过程静态转载 2015-05-25 21:41:34 · 1413 阅读 · 0 评论 -
宽字符处理
原文地址:http://yijiangchunshui.iteye.com/blog/658415最近两天在研究基于位运算的字符串模糊匹配时,在匹配过程中,因为中文的原因,出现了很多问题。最终发现了C++中有一个类型叫做wchar_t,宽字符,用于表示Unicode字符集,很好的解决了string和char在中文表示上的问题。以前没有引起足够的重视,现在在出现了很多问题后才不得不面对这个问转载 2012-10-08 14:25:32 · 1587 阅读 · 0 评论 -
CComPtr用法
原文地址:http://www.cnblogs.com/lzjsky/archive/2011/01/07/1929701.htmlCOM接口指针很危险,因为使用过程中需要每一个使用者都要严格并且正确的AddRef和Release,一旦出现问题,就会造成对象不能被正常释放,或者对象被重复删除,造成程序崩溃。所以使用COM接口,必须小心翼翼才行。但是,即使所有的代码中,都正确的Add转载 2012-10-11 10:14:57 · 1209 阅读 · 0 评论 -
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
原文出自:http://blog.sina.com.cn/s/blog_6230f1a30100vopv.html在VS2005中生成时出错:error C4430: missing type specifier - int assumed. Note: C++ does not support default-int这是因为在VC6中,如果没有显示的指定返回值类型,编译器将其视为转载 2012-10-12 12:59:20 · 860 阅读 · 0 评论 -
慎用USES_CONVERSION
原文出处:http://www.cnblogs.com/carekee/articles/1935789.html、慎用USES_CONVERSIONUSES_CONVERSION是ATL中的一个宏定义。用于编码转换(用的比较多的是CString向LPCWSTR转换)。在ATL下使用要包含头文件#include "atlconv.h"使用USES_CONVERSION一转载 2012-10-18 09:40:16 · 739 阅读 · 0 评论 -
C++ static char THIS_FILE[] = __FILE__;
原文地址:http://blog.sina.com.cn/s/blog_69d66cf10100kpcn.htmlC++ static char THIS_FILE[] = __FILE__;__FILE__为预编译器常量,返回当前编译的文件名,还有比较常用的几个预编译器常量,__LINE__编译器在编译的文件的第几行;__DATE__返回当前的日期Jul-20-2004;转载 2012-11-01 16:24:05 · 1638 阅读 · 0 评论 -
LINK : warning LNK4098: defaultlib "LIBC" conflicts with use of other libs; use /NODEFAULTLIB:librar
文章来源:http://blog.youkuaiyun.com/jiazhen/article/details/1679356You are trying to link with incompatible libraries. Important The run-time libraries now contain directives to prevent mixing different转载 2012-11-12 17:00:22 · 1248 阅读 · 0 评论 -
RGB16转换RGB24
原文地址:http://blog.youkuaiyun.com/juyingmin/article/details/5733761 在视频采集和视频的编解码中,常出现RGB16的数据格式,而我们最常用是图像处理数据格式为RGB24。他们之间需要转换,整理如下:RGB16数据像数数据格式有二种: (1)RGB565 每个像素用16位表示,RGB分量分别使用5位、转载 2012-11-13 09:27:29 · 3705 阅读 · 0 评论 -
DirectShow中常见的RGB/YUV格式
文章来源:http://www.52rd.com/Blog/Archive_Thread.asp?SID=8955计算机彩色显示器显示色彩的原理与彩色电视机一样,都是采用R(Red)、G(Green)、B(Blue)相加混色的原理:通过发射出三种不同强度的电子束,使屏幕内侧覆盖的红、绿、蓝磷光材料发光而产生色彩。这种色彩的表示方法称为RGB色彩空间表示(它也是多媒体计算机技术中转载 2012-11-13 15:00:42 · 2409 阅读 · 0 评论 -
YUY2(YUV) 与 RGB 格式图片的相互转换 以及 基于YUY2(YUV)的blending
原文地址:与 RGB 格式图片的相互转换 以及 基于YUY2(YUV)的blending" style="text-decoration:initial; color:rgb(65,100,111)">(转)YUY2(YUV) 与 RGB 格式图片的相互转换 以及 基于YUY2(YUV)的blending作者:南冠彤http://blog.youkuaiyun.com/jtujtujtu/arti转载 2012-11-13 15:52:56 · 1250 阅读 · 0 评论 -
怎样用DirectShow来压缩一个AVI文件
原文出处:http://littleflute.blog.hexun.com/1043233_d.html这里我们讲解怎样用DirectShow来压缩一个AVI文件。我们重点放到视频压缩,同样的方法可以应用到音频压缩。我们分以下几步来讲解:1、 选择一个压缩过滤器有许多种方法可以压缩视频或者音频,比如:a、 本地DirectShow过滤器b、 视频压缩管理编码器(VCM)转载 2012-11-14 12:26:05 · 2686 阅读 · 0 评论 -
MFC中设备坐标系到逻辑坐标系之间的转换函数DPtoLP的用法示例
由于初次接触MFC的绘图函数,好不容易弄明白了坐标方面的基本概念,如设备坐标系、逻辑坐标系、SetWindowExt、SetWindowOrg、SetViewportExt、SetViewportOrg。结果在OnMouseMove(UINT nFlags, CPoint point) 这个方法又遇到一些问题,因为此时传入的point是设备坐标系,我们需要做一下设备坐标系到逻辑坐标系之间的转换,但原创 2013-11-17 01:17:58 · 4558 阅读 · 1 评论 -
Ogre中的2D显示方法(转)
1.Displaying 2D在Ogre中创建Displaying 2D还是很简单的:1# 创建一个2D长方形:Rectangle2D *rect = new Rectangle2D(true);(true表示使用纹理)2# 设置长方形大小:rect->setCorners(-0.5f,0.5f,0.5f,-0.5f); //这用的是笛卡尔坐标系,原点在窗口转载 2013-07-31 22:28:51 · 1337 阅读 · 0 评论 -
DEFINE_GUID宏是怎么工作的?
使用DEFINE_GUID宏可以让你通过包含同一个头文件来定义GUID值而不必使用extern关键词。比如,你的工程中有三个源文件:src1.cpp,src2.cpp,src3.cpp,它们都使用一个相同的GUID值,而为了保证一致性,这个GUID只能在你的工程中定义一次,这时,其它的源文件必须定义外部引用来使用它。用了DEFINE_GUID,你可以使用在所有源文件中包含同一个头文件,在头文件中这原创 2013-01-07 15:13:19 · 1863 阅读 · 0 评论 -
Struct和Class的区别
转载来源:http://blog.sina.com.cn/s/blog_48f587a80100k630.htmlC++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数据类型的数据结构了,它已经获取了太多的功能。struct能包含成员函数吗? 能!struct能继承吗? 能!!struct能实现多态吗? 能!!! 既然这些它都能实现,那它和c转载 2015-05-10 08:34:42 · 798 阅读 · 0 评论 -
静态变量和全局变量的区别
全局变量与静态变量static 声明的变量在C语言中有两方面的特征:1.变量被放在程序的全局存储区中,这样在下一次调用的时候还可以保持原来的赋值。这一点是它与堆栈变量和堆变量的区别。2.变量用static告知编译器,自己仅在变量的作用范围内可见。这一点是它与全局变量的区别。Tips:A.若全局变量仅在单个C文件中访问,则可以将这个变量修改为静态全局变量,以降低模块间的耦转载 2015-03-30 11:30:26 · 1864 阅读 · 0 评论 -
MFC如何使用GDI+,button加载png
首先感谢 Darren Sessions、Christian Graus、Joe Woodbury 的开源,不然小菜我也无法完成想要实现的功能。 本人在项目中需要实现button加载PNG图片,且在鼠标在button区域时相应一个事件,比如再加载一张图,或者把一加载上去的图加亮什么的。 PS:翻看国内现存的资料终于找到了解答,那就是连接到了国外网站,终于转载 2014-12-12 09:52:37 · 2434 阅读 · 0 评论 -
C++ 运算符重载
什么是运算符的重载? 运算符与类结合,产生新的含义。 为什么要引入运算符重载? 作用:为了实现类的多态性(多态是指一个函数名有多种含义)怎么实现运算符的重载?方式:类的成员函数 或 友元函数(类外的普通函数)规则:不能重载的运算符有 . 和 .* 和 ?: 和 :: 和 sizeof友元函数和成员函数的使用转载 2015-01-15 10:44:34 · 956 阅读 · 0 评论 -
VS2008编译boost库
一、下载首先从boost官方主页http://www.boost.org/下载最新版boost安装包,我用的版本是boost.1.49.0二、新建文件夹 如果是使用下载的安装包,那么请将boost安装包解压至本地新建的目录,如:F:\boost三、编译(1)从vs2008的工具菜单进入命令提示窗口(单击“开始”按钮,指向“所有程序”,指向“Microsoft转载 2014-12-23 00:37:54 · 1246 阅读 · 0 评论 -
如何让类的成员函数作为回调函数
BOOL CALLBACK EnumThreadWndProc(HWND hwnd, LPARAM lParam ){ std::list* plist = (std::list*)lParam; plist->push_back(hwnd); return true;}原创 2014-09-11 21:39:43 · 2185 阅读 · 0 评论 -
VS下用CMake编译OpenCV程序
原文地址:http://www.cnblogs.com/mengdd/archive/2012/07/16/2598020.html转载 2014-05-17 11:48:40 · 1027 阅读 · 0 评论 -
Bitonic Sort
AbstractContinuing a tutorial on sorting algorithms, this page animates bitonic sort.AuthorThomas W. ChristopherBitonic sort is a sorting algorithm designed specially for parallel转载 2014-05-06 20:01:29 · 1567 阅读 · 0 评论 -
C++编程实现从注册表中获取程序安装路径并调用exe文件。
最近用c++做利用WINAPI启动应用程序的测试, 一番周折之后,成功解决 利用注册表函数获取程序安装路径的宽字符和WINEXEC方法参数不一致的问题。长话短说,附上代码如下:#include #include using namespace std;#define RTN_ERROR 13#pragma comment(lib, "advapi32")int main(void原创 2012-10-08 14:33:22 · 4902 阅读 · 3 评论 -
c/c++:extern,extern "C"
原文摘自:http://www.cnblogs.com/Azhu/articles/2454483.html编辑本段extern 变量 在一个源文件里定义了一个数组:char a[6]; 在另外一个文件里用下列语句进行了声明:extern char *a; 请问,这样可以吗? 答案与分析: 1)、不可以,程序运行时会告诉你非法访问。原因转载 2012-10-11 10:28:54 · 1123 阅读 · 1 评论 -
如何设计自定义的transform filter(转)
对于DIrectShow的初学者而言,最大的困难莫过于尝试设计自定义的filter。设计自定义的transform filter是困难的因为 首先filter是一种dll (后缀名为.ax)而编写dll工程需要一定的VC基础 所以建议先补充一点dll的知识其次 dll的注册,GUID的生成和工程的配置都很麻烦。再次 网上缺乏现成的transform filter的例子。Direct转载 2012-11-14 15:44:19 · 1326 阅读 · 0 评论 -
vc下debug 版本和release版本的区别
经常在 优快云 上看见有人问 Debug 运行正常但 Release 失败的问题。以往的讨论往往是经验性的,并没有指出会这样的真正原因是什么,要想找出真正的原因通常要凭运气。最近我看了一些这方面的书,又参考了 优快云 上的一些帖子,然后深入研究了一下关于二者的不同。以下是我的一些体会,拿来与大家共享。 本文主要包含如下内容: 1. Debug 和 Release 编译方式的本质区转载 2012-11-20 12:15:46 · 792 阅读 · 0 评论 -
MFC使用webbrowser时navigate的url中有中文字符,在php服务器端取得的是乱码问题的解决方案
具体问题,大家可以看这篇的帖子,是我昨天刚发的:http://bbs.youkuaiyun.com/topics/390351062解决方法:由于url的中文字符在传输过程中被自动用gb2312编码了,所以需要再php服务器端先进行编码的检测,然后用相应地转化函数解析成utf-8的字符。检测及转化代码如下: $searchcontent=$_GET['search']; $encoding=原创 2013-01-19 15:59:20 · 2513 阅读 · 0 评论 -
TAUCS库的编译(vs2010)
详细参考http://matrixprogramming.com/2008/12/taucs1.进入VS的命令行工具,程序-> Mcrosoft Visual Studio 2010->Visual Studio Tools-> Visual Studio命令提示(2010)找到vsvars32.bat文件。在我的环境下,目录是D:\Program Files\Microsoft转载 2013-06-20 20:35:00 · 3065 阅读 · 2 评论 -
如何在Windows下使用LAPACK和ARPACK
我最近打算开始学写Fortran程序和使用LAPACK和ARPACK。在学校的Linux上,一个make就搞定了。但是我自己的电脑是 Windows 7系统,什么cmake, nmake的我都试过了,没有一个能够make出来的。网上也有很多Windows下怎么用LAPACK的资料,有的直接给我一个编好的 LAPACK.lib,结果发现不能在gfortran上连接;有的要改Makefile什么的,我转载 2013-06-21 10:05:15 · 3550 阅读 · 1 评论 -
OpenNI 2.x与Kinect For Windows的安装
Microsoft推出Kinect For Windows后,原来的安装方法不再继续有效,OpenNI 1.5.x也不能再继续使用。这里介绍OpenNI和Kinect For Windows的安装与使用。硬件需求:Kinect For Windows一台连接Kinect和PC的USB转换接口(关于转换接口,参见链接)推荐安装环境:Windows 7 32bi转载 2013-07-03 17:15:22 · 1989 阅读 · 0 评论 -
OGRE+VS2008环境搭建
对于一个入门的新人来说,搭建环境真是很麻烦,弄了很久。OGRE官网下的OGRE 3D 1.7 Beginners Guide .pdf还是缺少很多环境搭建的细节地方,我把自己搭建环境的过程整理了一下,希望对新人有点点帮助,老手的话就别看了。 第一步:下载需要的软件 (这个估计就要一天) 1.OgreSDK_vc9_v1-7-2.exe (这个目前比较新,当然你也可以转载 2013-07-04 21:06:29 · 1146 阅读 · 0 评论 -
lib和dll文件的区别和联系
什么是lib文件,lib和dll的关系如何 (2008-04-18 19:44:37) (1)lib是编译时需要的,dll是运行时需要的。 如果要完成源代码的编译,有lib就够了。 如果也使动态连接的程序运行起来,有dll就够了。 在开发和调试阶段,当然最好都有。 (2)一般的动态库程序有lib文件和dll文件。lib文件是必须在编译期就连接到应用程序中的,而dll文件是转载 2013-07-06 18:12:01 · 1012 阅读 · 0 评论 -
__cplusplus与extern "C"
__cplusplus与extern "C" Microsoft-Specific Predefined Macros __cplusplus Defined for C++ programs only. 上面的意思是说,如果是C++程序,就使用(即定义__cplusplus); extern "C"{ 而这句话,是指在下面的函数不使用的C++的名字修饰,而是用转载 2013-07-06 18:31:09 · 1054 阅读 · 0 评论 -
MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16
编译出现:MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup 产生此类问题的原因是:1. 当程序的main函数是 int main(){}这样的写法,转载 2013-07-26 06:50:37 · 1429 阅读 · 0 评论 -
Optimal Keypad
Description Optimus Mobiles produces mobile phones that support SMS messages. The Mobiles have a keypad of 12 keys, numbered 1 to 12. There is a character string assigned to each key. To type in the转载 2013-10-29 16:32:57 · 1483 阅读 · 0 评论 -
Needleman-Wunsch Algorithm
Let's say you have two genetic sequences from two different individuals, and you want to know whether they represent the same gene. How would you go about it? You could let your computer do a simple s转载 2013-10-29 16:41:12 · 2766 阅读 · 1 评论 -
MFC项目使用webbrowser控件,点击载入的页面里的文件下载链接后导致程序的崩溃问题的解决方案
这个问题,我在csdn发帖问过,很幸运,有大神指导,我成功解决了,具体可以看这个帖子:http://bbs.youkuaiyun.com/topics/390351057?page=1#post-393514218说一下解决思路吧:一开始,经过调试发现缺少XunleiBHO7.2.10.3694.dll,后来我从网上下载了一个,然后,我把dll先放在system32下,发现不行,后来我将它放在主程序目原创 2013-01-19 14:35:48 · 2013 阅读 · 0 评论 -
MFC UpdateData(FALSE)和UpdateData(TRUE)的作用
原文来源:http://blog.163.com/xuxiaoqianhz@126/blog/static/16519057720108252554358/在VC里,可以为对话框上的控件设置对应的变量,如文本框可以设置对应的 CString变量,但是在程序中修改文本框的内容时,对应的CString变量不会随着改变,需要调用UpdateData(TRUE)来改变变量。类 似的,程序中改变了C转载 2013-01-10 11:38:15 · 1269 阅读 · 0 评论 -
MFC的CWnd和HWND之间互相转换方法
类是什么就不解释了句柄是一个32位的数,是在WINDOS中的一个资源标示符,相当于c里面的指针.窗口类就是CWnd,窗口句柄就是HWND。CWnd和HWND之间互相转换代码如下: CWnd *pWnd; HWND hWnd; hWnd = pWnd->GetSafeHwnd(); //CWnd->HWND pWnd = CWnd转载 2012-12-26 20:56:07 · 4642 阅读 · 0 评论 -
DirectShow中利用SampleGrabber捕获摄像头每一帧图像,并转为BMP文件信息写入内存
原文地址: http://blog.youkuaiyun.com/ictwangbiao/article/details/8181710关于怎样枚举设备、建立Filter Graph等问题,我就不多说了,说也说不清楚,因为我也是才接触DirectShow。网上这类资料还是很多,百度知道的比我多多了。这里主要介绍一下自己在学习了StillCap例子之后,实现利用SampleGrabber捕获摄像头每一帧转载 2012-11-30 19:05:08 · 3524 阅读 · 0 评论