
c++
BUG日日新
这个作者很懒,什么都没留下…
展开
-
code::blocks配置编译cuda并进行第一个demo的测试
我们先新建个NVCC的编译器,使用复制GCC编译器的方式进行新建,然后我们进行以下的路径配置先来看看链接库,将我们经常使用的cuda库链接进来。然后链接cuda的头文件:接着配置调试工具以及编译链接的工具:然后最重要的就是编辑下面的内容,这样可以确保你能够编译过。面对这样的警告,我们选择yes就ok。里面的原创 2016-01-29 15:38:38 · 5325 阅读 · 4 评论 -
boost使用(六)
这篇文章介绍了boost中的timed_mutex mutex和unique_lock 的使用方法,以及对比了这些所的异同点。原创 2014-01-07 09:58:17 · 1151 阅读 · 0 评论 -
boost使用(五)
boost线程同步锁的使用!原创 2014-01-06 20:54:51 · 1319 阅读 · 0 评论 -
boost 使用(四)
boost 线程锁的使用原创 2014-01-03 21:12:50 · 1125 阅读 · 0 评论 -
boost使用(三)
boost中的线程控制原创 2014-01-03 09:25:07 · 1332 阅读 · 0 评论 -
boost使用(二)
boost线程库的使用原创 2013-12-31 18:03:49 · 1314 阅读 · 1 评论 -
boost的使用(一)
boost关于函数的一些用法!原创 2013-12-30 19:39:48 · 1599 阅读 · 0 评论 -
最近面试的算法题目
互联网面试的经典算法!原创 2013-08-19 15:44:53 · 1467 阅读 · 0 评论 -
Cegui0.8.2在win7下的编译
1.首先到cegui官方网站上下载该版本,为了方便大家,这里贴一个网站给大家http://jaist.dl.sourceforge.net/project/crayzedsgui/CEGUI%20Mk-2/0.8/2.然后下载相关的依赖包,同样给出网址http://sourceforge.net/projects/crayzedsgui/files/CEGUI%20Mk-2%20D原创 2013-06-15 21:24:35 · 3058 阅读 · 11 评论 -
标准c++ 读写unicode文件
这篇文章的技术含量不是很高,就是一些常规做法,主要体现在细节上了,大家可以参考下。#define _CRT_SECURE_NO_WARNINGS#include #include #include #include #include using namespace std;int main(){ FILE *fp; fp = _wfopen(L"1.txt"原创 2013-06-04 20:02:54 · 2518 阅读 · 2 评论 -
boost使用(七)
boost 多线程之共享锁的使用(读写锁)原创 2014-01-08 17:48:22 · 1223 阅读 · 0 评论 -
boost使用(八)
boost中的条件的使用。原创 2014-01-10 20:05:56 · 1317 阅读 · 0 评论 -
boost 最大流求解示例
#include #include #include #include #include #include #include #include /*,boost::property <boost::vertex_color_t, boost::default_color_type,boost::property <boost::vertex_distance_原创 2015-09-16 14:40:45 · 1621 阅读 · 0 评论 -
Boost Asio服务器使用
今天主要想说道说道boost里面的网络通信库如何设计和使用,因为最近一直在和网络一起工作,大数据处理和机器学习都离不开最后使用网络进行上线部署。先看看全部的源代码吧。#include #include #include #include #include #include #include "data.h"#include #include #include using原创 2015-08-19 11:48:36 · 2089 阅读 · 0 评论 -
caffe 的layer层组织结构
caffe的layer层是靠INSTANTIATE_CLASS和REGISTER_LAYER_CLASS来进行对各个层类进行处理的。每一个layer都是继承基类Layer的,其中BaseDataLayer是输入数据的基类,从这个类继承的主要是:这个图可以很好的看到这些layer的继承关系,整个layer层的结构非常清晰,使用抽象工厂的方式构建整个layer层,然后刚才的宏将layer注册成原创 2015-07-03 11:01:32 · 4179 阅读 · 0 评论 -
caffe的训练之一,数据的组织。
深度学习自己的训练数据如何自己进行生成。原创 2015-04-24 18:54:51 · 1507 阅读 · 0 评论 -
caffe在centos7上配置与搭建的过程
如何在centos7下面配置caffe深度学习框架原创 2015-04-19 12:01:49 · 2241 阅读 · 0 评论 -
boost string库的使用
boost 关于string的常用操作。原创 2014-03-25 21:33:02 · 1750 阅读 · 0 评论 -
boost递归遍历文件夹
boost::filesystem的使用。递归遍历文件夹执行操作。原创 2014-03-20 11:53:17 · 2515 阅读 · 1 评论 -
Lua自定义方式加载模块
很多人苦于lua脚本被别人破解导致整个游戏被他人抄袭而苦恼,现在来说说最近刚研究通的一种修改办法,可以加载自己加密过的脚本,而且又不会导致普通的lua脚本无法执行,这样既可以运行加密脚本也可以运行普通的脚本,这是多么爽的一件事情。好了接下来我直接给出我们需要修改的地方;打开文件loadlib.c这个文件我们可以看到有几个函数loader_Lua,loader_C等函数;我们可以仿写一个 ,实现原创 2014-03-27 20:45:43 · 3089 阅读 · 0 评论 -
boost使用(九)
boost线程本地化变量存储的使用。原创 2014-02-08 20:08:05 · 1415 阅读 · 0 评论 -
无监督机器学习的kmeans思想介绍
最近在看一些基本的简单算法,思想空间中邻近点是有关联的,这当然我也不知道为什么就对了,虽然我们简单的低维空间中很直观是这样的,但是高维空间中的点是不是就真的有关系呢,这个只能是一种猜想。k-means 算法接受参数 k ;然后将事先输入的n个数据对象划分为 k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。聚类相似度是利用各聚类中对象的均值所获原创 2013-06-13 20:38:03 · 1803 阅读 · 0 评论 -
C++中hash map的用法
大家都知道c++ stl中的map是用红黑树实现的,而tr1中实现了hash结构的map 为了不命名冲突被叫做了unordered_map,,下面就给大家简单使用下这一结构,如果大家的结构在百万规模级就应该考虑使用该结构了。#include #include #include #include using namespace std;void print(std::pair i原创 2013-05-31 17:36:01 · 2356 阅读 · 0 评论 -
类成员函数的函数指针与返回值为函数指针的函数
首先我们先看类的定义;#include using namespace std;class FunctionPoint{public: FunctionPoint(int s); ~FunctionPoint(void); static FunctionPoint* pFunctionPoint; static int FunctionName1(int a原创 2013-02-26 17:27:29 · 1508 阅读 · 0 评论 -
Lua 架构构建多线程事物性线程
lua与c++的调用本文虽然有涉及但是,这不是我今天向大家推荐的内容,今天向大家写的示例代码是lua如何构建控制和任务逻辑以及与主线程进行控制子线程程执行的方式。不熟悉windows下多线程的童鞋可以翻翻本人的多线程的相关文章,也可以自己从网上学习下多线程的编写,以及如何合理的退出线程。这样编写代码可以做到,架构灵活,业务可变更性非常强,只要实现好底层算法性代码,业务逻辑尽量交给脚本语言吧,查原创 2012-11-21 12:05:39 · 3480 阅读 · 0 评论 -
不定个数的c++函数指针
关于多线程下利用vector保存函数指针并调用的方法,这是一个最简单的函数指针调用实例,大家可以看到这样对于处理一些第一时间处理数据的业务非常合适,这样处理的实时性非常好,当然而且可以多个处理函数来处理数据,也可以将mytest这个class 封装起来,是外部使用的人不必关心内部如何产生数据的。外部直接struct mystuct{ int myInt; char myStr[1原创 2012-11-15 10:49:00 · 1414 阅读 · 0 评论 -
Mygui中文换行问题
相信大家解决了中文输入后一定会遇到如何解决中文输入的问题,中文输入换行问题是很多gui框架都存在的一个问题,这里不废话了,大家打开mygui的引擎层中的widget的textview 的头文件和源文件将其替换为:/*! @file @author Albert Semenov @date 09/2009*/#ifndef __MYGUI_TEXT_VIEW_DATA_H__原创 2012-11-27 15:29:10 · 2395 阅读 · 4 评论 -
MYGUI在win7下的中文完美输入及其显示
先来看张截图:首先,mygui编译选择MYGUI_SAMPLE_INPUT选择为3,我们来修改common文件夹下的InputManager.cpp中的两个函数一个是LRESULT CALLBACK InputManager::windowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)加入以下代码else i原创 2012-10-08 16:39:11 · 2948 阅读 · 1 评论 -
Direct3d 11下加入视频文件并实现音频视频同步
Media foundation作为微软目前视频和音频解码的标准库,里面有几乎所有window平台下的功能,最近因为项目要实现在mygui下播放视频,所以就研究了下该库,做法和directshow 中dump的例子很像。定义一个继承自IMFSampleGrabberSinkCallback的类,具体函数可以参照微软官方音频捕获的例子。然后再找到media foundation 利用medias原创 2012-11-01 16:26:25 · 1668 阅读 · 0 评论 -
线程控制(vc的代码)
今天我来带大家查看下微软是如何写线程控制函数的。当然实际中我们很少有机会写这样的代码,不过这里面用到的一些思想我们是可以利用的。就像我在前几篇文章中写到的CreateEventW创建事件,InterlockedExchange原子操作,WaitForSingleObject等待信号,而新的东西就是这个SetPriority和SpinUntilBlocked我想对于已经了解线程的一些人从英文字面原创 2012-09-19 16:20:34 · 1922 阅读 · 0 评论 -
Lua部分源代码分析(讨论lua的库是如何实现)
我们在使用lua的时候一定觉得这门语言很高级,什么都不用去处理而且速度很快,超过了一般的脚本语言,这是因为其实lua内部是由c来管理内存的分配和释放的,用起来有点像java的垃圾回收器一样,但完全不是一个东西,看过lua源码的人都知道,它是自己建立了一套lua内存管理机制的,由c语言完成真正的内存分配和释放。异同点只要看垃圾回收机制的三大要素就知道了。 今天我来说下lua中有内置原创 2012-09-02 21:56:39 · 2592 阅读 · 0 评论 -
Lua协同(lua下多线程的编写)
首先我们建立个工程,然后紧接着还是附上我调试过的代码,很简单吧。co这个东西是我们自己定义的一个名字而已,你可以换成任何一个,见过其他动态语言的人都知道,这句废话是给那些和我一样对c++熟悉的一塌糊涂,而对其他语言一无所知的人们。代码如下:co = coroutine.create(function ()print("hi")end)print(co)print原创 2012-07-25 16:32:27 · 6575 阅读 · 0 评论 -
fedora18中c++语言json的例子
先将源代码献上:#include #include #include using namespace std;int main(){ Json::Value value; ifstream in("public.json"); string str; string msg; if(in.is_open()) { wh原创 2013-03-14 20:22:42 · 1430 阅读 · 0 评论 -
select非阻塞模式使用
select函数用于在非阻塞中,当一个套接字或一组套接字有信号时通知你,系统提供select函数来实现多路复用输入/输出模型,原型: #include #include int select(int maxfd,fd_set *rdset,fd_set *wrset,fd_set *exset,struct timeval *t原创 2013-03-25 23:42:00 · 2452 阅读 · 0 评论 -
c++和c读写文件的悲剧如何发生的
一段写悲剧的代码:FILE *fp; fp = fopen("1.txt", "w+"); unsigned char writetofile[256]; for (int i = 0; i < 256; i++) { int tmp = i; cout<<tmp<<"\t"; fwrite(&tmp,sizeof(int),1 ,fp);原创 2013-06-10 18:52:26 · 1385 阅读 · 2 评论 -
BrainFuck语言的解释器以及中文录入
废话不多说,先附上解析的此语言的编译器代码#define _CRT_SECURE_NO_WARNINGS#include #include char s[30000]={0};char code[100000];int len = 0;int stack[100];int stack_len=0;int main(int argc,char**argv){ char原创 2013-05-30 16:23:18 · 2649 阅读 · 0 评论 -
快排
最近在看算法导论,就实现了一些简单的算法!核心是分治首先先完成交换两个值的函数,然后完成分割操作最后确定递归条件!int exchange(int A[],int i,int j){ int temp = A[i]; A[i] = A[j]; A[j] = temp; return 0;}int Partion(int A[],int p,int r){ i原创 2013-05-24 16:15:20 · 1261 阅读 · 0 评论 -
堆的构建与堆排序
堆是一种常用数据结构,我们在编写算法的时候,会常用他,为了理解这种数据结构,我自己学着实现了一下,几个基本操作,返回父节点的位置,左儿子节点的位置,右儿子节点的位置,调整堆,该方法是堆中最重要的操作方法!建立堆,堆排序都是以这个操作方法为核心的,重点说明下这个方法:输入为数组A[],位置i,1。先获取他的两个儿子的位置,2. 判断儿子和父亲谁大,3.若儿子比父亲大,则交换儿子和父亲原创 2013-05-24 15:54:24 · 1378 阅读 · 0 评论 -
计数排序
一段线性时间的排序程序:排序中我们都知道,在一般情况下最好的时间复杂度是n*log(n)的时间复杂度,但是对于很多情况下,我们的数值范围是有限的,所以可以采用技术排序的方式将实际应用从这个时间复杂度减少到O(n)级别:A表示原始数据,C表示统计个数,B表示排序后的数据,k表示数值的最大范围,l表示数据个数。int CountSort(int A[],int B[],int k,int原创 2013-05-17 15:47:57 · 1117 阅读 · 0 评论 -
状态机的实现
现在很多人在利用比较流行的开源游戏引擎cocos2d-x开发游戏,在游戏中免不了使用状态机,这里给大家一种我自认为好的状态机的实现O(∩_∩)O~。先贴上代码:#ifndef BASESTATE_H#define BASESTATE_Htemplate class BaseState{public: //BaseState(void){}; virtual void En原创 2013-04-25 09:51:53 · 2120 阅读 · 3 评论