C++
iteye_11349
这个作者很懒,什么都没留下…
展开
-
创建及使用DLL
此篇仅作简要的记录,作为备忘。更为详细的可以参考:[url]http://www.cnblogs.com/houkai/archive/2013/06/05/3119513.html[/url][url]http://blog.csdn.net/ixsea/article/details/6676802[/url]MS关于DLL的文档目录:[url]http://msdn.micros...原创 2014-09-29 15:22:24 · 83 阅读 · 0 评论 -
Visual Studio 中创建项目模板——以matlab ,C++混合编程工程为例
[size=large]写的程序多为小程序,配置基本差不多。每次都要配置Include路径及lib路径很麻烦。当然,可以在Property Manager中将头文件路径和lib路径添加到全局表单中。但是并不是每一个工程都需要那么些路径,另外,换一台机器,路径不一样岂不是很麻烦?于是乎,工程模板是一个不错的选择。另外,为了便于管理,可以采用环境变量来设置路径,而非采用绝对路径。这样一来不...原创 2013-01-16 15:28:29 · 237 阅读 · 0 评论 -
矩阵库Eigen的MatrixXd中预定义的类型
[size=large]在使用Eigen编程时,到处是Curiously recurring template pattern,那么,我们如何知道一个矩阵中存的是double型变量还是float型的变量呢?有人会说, MatrixXd中存的就是double型变量MatrixXf中存的是float型变量啊![/size]我是无耻的插队者:不了解Curiously recurring te...原创 2014-04-29 15:49:49 · 2674 阅读 · 1 评论 -
C++中 直接调用、函数指针、std::function效率对比
[size=large]C++中 直接调用、函数指针、std::function效率对比调用次数:10亿次CPU: i7 860 (主频2.8GHz)[color=red]测试结果:[/color] 函数指针要比直接调用慢2s左右;std::function 要比函数指针慢2s左右貌似std::function调用时多了一句if语句的判断,用于测试是否绑定了函数。...原创 2014-01-09 21:43:23 · 1698 阅读 · 0 评论 -
windows 10下安装GPU版MXNet
上回说到编译CPU版的MXNet: [url]http://cherishlc.iteye.com/blog/2299864[/url]最近攒了个带GPU的本本,,终于可以整GPU版的啦~过程和编译CPU版的差不多,但是却花了3天时间填坑,,具体过程本文不再详述,请先编译CPU版。与编译CPU版不同之处在于:[list][*]win10下必须使用Cuda8RC(我的是965...原创 2016-06-03 21:28:06 · 904 阅读 · 0 评论 -
CMake指定目标代码的平台(win32,x64)
主要参考自:[url]http://blog.csdn.net/yxnyxnyxnyxnyxn/article/details/10147461#[/url]cmake-gui用法参见:[url]http://www.cnblogs.com/freedomshe/archive/2013/01/11/win7_vs2012_opencv_rebuild.html[/url][siz...原创 2016-06-03 20:54:43 · 10470 阅读 · 0 评论 -
windows下安装CPU版mxnet
MXnet (mix net)类似Caffe,Tensorflow,是一个深度学习框架,优点是很省显存,,而且windows下也能用~~Mxnet是DMLC的子项目:[url]http://dmlc.ml/[/url]Mxnet官网:[url]http://mxnt.ml/en/latest//[/url]windows下安装GPU版本参见我的另一篇博文(需要先看完...原创 2016-05-23 23:14:25 · 810 阅读 · 0 评论 -
C++ 获取变量名称 & 获取类型的名称
[size=x-large][color=blue]1、获取变量名称[/color][/size][size=large]采用如下宏定义即可,这个宏定义将表达式x直接转换为对应的字符串:[/size][code="c++"]#define varName(x) #x#define printExp(exp) cout...原创 2012-12-18 22:49:51 · 2058 阅读 · 0 评论 -
C++之Curiously recurring template pattern
[size=large]一种用于实现多态的方法,与虚函数的不同在函数的绑定是在编译期完成的,运行的速度更快!!不多说了,直接上代码:[/size][code="C++"]#include /*@file 学习CRTP (Curiously recurring template pattern).一种实现多态(polymorphism) 的方式,与虚函数的不同在于,C...原创 2013-12-24 11:25:38 · 171 阅读 · 0 评论 -
Linux C++编译及 静态/动态 链接库 笔记
[size=x-large][color=blue]1、C++文件的编译[/color][/size][color=blue]g++参数介绍(非常棒~)[/color][url]http://www.cnblogs.com/lidan/archive/2011/05/25/2239517.html[/url][color=blue]官方文档[/color]:[url]https://g...原创 2015-12-20 19:49:13 · 309 阅读 · 0 评论 -
修改Visual Assist中的方法注释样式;Eclipse中使用doxygen注释C++方法
[color=blue][size=x-large]1、修改Visual Assist中的方法注释样式[/size][/color][size=large]Visual Assist生成的方法注释又长又丑有木有?那就简单修改一下吧~[list][*]如下面的两张图所示,打开在Visual Assist的选项卡,按图中标示顺序打开Refactor Document Method脚本,...原创 2013-01-28 20:34:58 · 294 阅读 · 0 评论 -
利用Doxygen生成C++、Java文档
[color=red][size=large]示例程序、配置文件及doxygen常见参数文字版参见本文附件[/size][/color][size=large]先来看下生成html格式的文档:[/size][img]http://dl.iteye.com/upload/attachment/0082/7937/4b0c10ef-e7bc-3ee5-92cf-5318ada1935f.p...原创 2013-04-08 16:15:05 · 275 阅读 · 0 评论 -
C++杂记-- 重定向std::cout等
1、屏蔽std::cout参见:[url]http://stackoverflow.com/questions/8246317/redirecting-function-output-to-dev-null[/url]有时我们要将自己的程序嵌入到其他服务中去,服务一般会有自己的日志系统,但为了我们自己的代码可以单独调试,还是使用cout方便。当我们调试完自己的代码后,可以通过以下方式屏...原创 2017-04-18 17:28:18 · 1546 阅读 · 0 评论 -
matlab的mexFunction中使用std::cout(部分转载)
[size=large]在matlab、C++混合编程的时候,可能会用到之前的代码。代码中会有许多的输出(使用std::cout);如果将这些std::cout重新用mexPrintf()写一遍,不仅费时费力,还造成原来的程序在别的地方无法编译的问题。那么,有没有办法将std::cout重定向到mexPrintf呢?原理没深究,直接[color=red]转载[/color]代码...原创 2014-09-27 15:37:01 · 384 阅读 · 0 评论 -
Eigen库:那些年我们一起经历的bug
[size=x-large][color=blue]1、使用auto声明新变量时不要局部eval()[/color][/size][size=large]这句话神马意思呢? 我们知道,在C++函数中最好不要返回局部变量,否则可能产生因为局部变量被回收而引发的错误。而这个问题正是源于此。在以下这个bug中:[/size][url]http://eigen.tuxfamily.org/bz...原创 2014-09-24 18:39:32 · 268 阅读 · 0 评论 -
C++:无虚函数的类作为有虚函数类的父类时产生Expression:_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)...
[size=large]调程序时忘了为啥,写了一小段测试程序,再简单不过,结果跑出了[color=red]Expression:_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)[/color]这个错误信息是在MSVC下的debug模式下跑出的,如果用release版本,则程序直接崩溃!!很严重的错误有木有![/size][size=large]老规矩,先奉上...原创 2014-09-24 09:48:36 · 197 阅读 · 0 评论 -
C++(MSVC) 下查看call strack trace;查看函数是否被inline
[size=large]最近写C++程序,,各种不知道错误出在哪一行,即使输出了行号,也没用,因为不知道哪一次调用出的错,程序bug处离调用位置很远,要调程序不得不一行行的调![/size]后来发现个好东西: StackWalker(仅限MSVC): [url]http://www.codeproject.com/Articles/11132/Walking-the-callstack...原创 2014-09-20 15:08:44 · 228 阅读 · 0 评论 -
Eigen中Map的高级用法
[size=large]Map类 是 矩阵库Eigen中用来将内存数据 映射为 任意形状的矩阵的类。其基本用法参见:[url]http://cherishlc.iteye.com/blog/1968238[/url]Map的官方文档:[url]http://eigen.tuxfamily.org/dox/group__TutorialMapClass.html[/url]Stride类...原创 2014-09-15 23:15:23 · 1382 阅读 · 0 评论 -
C++ 父类的非虚函数调用虚函数
[size=large][color=blue]结论为[/color]:仍然是调用的虚函数,也就是说,如果是子类的指针调用该非虚函数,该非虚函数调用的仍为子类的虚函数。。。好绕的一段话有木有……还是直接看运行结果和代码:[/size][img]http://dl2.iteye.com/upload/attachment/0100/6991/a12c9061-989b-3523-8943...原创 2014-08-30 17:01:51 · 478 阅读 · 0 评论 -
C++ 编译期 检测编译环境(32位 / 64位)
以下内容摘自:[url]http://stackoverflow.com/questions/1505582/determining-32-vs-64-bit-in-c[/url][code="C++"]// Check windows#if _WIN32 || _WIN64#if _WIN64#define ENVIRONMENT64#else#define ENVIRO...原创 2014-08-27 15:39:03 · 504 阅读 · 0 评论 -
Eigen的编译选项;MKL的使用
[size=large]使用时在工程的property页面的如下图所示位置定义(或者在#include 前使用#define定义):[/size][img]http://dl2.iteye.com/upload/attachment/0100/5613/6c060444-c6f7-3f3e-8eb0-bb3ff4768e01.png[/img][size=x-large][color=...原创 2014-08-26 12:41:39 · 2441 阅读 · 0 评论 -
lambda表达式
仅作备忘,要学习还是看给的链接吧[size=x-large][color=blue]1、C++[/color][/size]中文介绍:[url]http://www.cnblogs.com/hujian/archive/2012/02/14/2350306.html[/url]英文介绍:[url]http://www.cprogramming.com/c++11/c++11-lambd...原创 2014-08-20 21:47:23 · 109 阅读 · 0 评论 -
Linux (Ubuntu) 下 Eclipse C++ 环境配置
[size=x-large][color=blue]1、安装JDK[/color][/size]参见[url]http://blog.csdn.net/yunlong34574/article/details/19280109[/url]注意,需要 [b] Ctrl+Alt+T [/b] 打开命令行窗口然后 [b]sudo -i [/b]取得root权限!!!否则 /usr 目录...原创 2015-12-08 21:49:50 · 185 阅读 · 0 评论 -
visual studio 编译后自动运行测试
[size=large]之前总是苦于每次编译后都自动运行测试,找了好久都没找到原因。今天终于发现原来就在Test Explorer 上有个按钮!!!如下图所示,终于不用再那么烦人了~[/size][img]http://dl2.iteye.com/upload/attachment/0091/3758/3000196e-4acd-31c2-8b9a-6e20e2a35ad7.png[/...原创 2013-11-21 15:31:40 · 225 阅读 · 0 评论 -
C++ 输出重定向(转)
以下内容转载自(部分改动):[url]http://yaronspace.cn/blog/archives/164[/url][code="c++"]fstream fs("log.txt", ios::out);streambuf* pOld = cout.rdbuf(fs.rdbuf());//将输出重定向到log.txtcout...原创 2012-06-10 18:59:05 · 596 阅读 · 0 评论 -
swig--在java、C#中调用c++写的DLL(以vs2012配置为例)
[size=large][color=blue]1、下载、安装:[/color][/size][size=large]到[/size][url]http://www.swig.org/download.html[/url][size=x-large]下载swigwin-2.0.8 版本,注意是windows版本!!。[/size][img]http://dl.iteye.com/upl...原创 2012-10-02 22:06:47 · 187 阅读 · 0 评论 -
安装vs2012后win32平台无法正常编译——路径设置的问题
[size=x-large]在有visual studio 2010的情况下安装了visual studio 2012,结果最简单的c++程序(win32平台,x64没问题)编译都不通过!!!后来发现是包含路径有问题,参见:[/size][url]http://connect.microsoft.com/VisualStudio/feedback/details/762015/includ...原创 2012-09-29 22:25:09 · 340 阅读 · 0 评论 -
Visual Studio 2012 单元测试&代码覆盖率测试
[size=x-large][color=red]1、教程 :直接MSDN吧:[/color][/size][url]http://msdn.microsoft.com/en-us/library/hh270864(v=vs.110).aspx[/url]这里还有一个:[url]http://blogs.msdn.com/b/jasonz/archive/2012/05/22/my...原创 2012-09-24 16:32:24 · 559 阅读 · 0 评论 -
图解Visual Studio中代码格式化工具Astyle的设置,快捷键设置(含Visual Assist的),VS的环境变量(外部工具参数)...
之前老是一遍遍的找,这里备份一下~关于[color=red][size=x-large]astyle的具体用法[/size][/color]可以看看:[url]http://blog.csdn.net/memory_xj/article/details/2983093[/url][size=large]1、点击tools菜单下的external tools[/size][img]h...原创 2012-04-18 21:06:39 · 588 阅读 · 0 评论 -
函数指针
[code="java"]//函数指针//定义typedef int (*int_intIntFuncPnt)(int ,int);//int_intIntFuncPnt为返回值为int,形参为两个int的函数指针typedef int int_intIntFunc(int,int);//int_intIntFunc为返回值为int,形参为两个int的函数int sub(i...原创 2011-11-23 11:14:07 · 77 阅读 · 0 评论 -
const 成员函数
[code="c++"]//const成员函数class TestConstMemberFunc{public: int x,y; int getX(){ return x; } int getXconst() const{//加上cosnt,表明该函数不改变类内的变量,因而可以被cosnt的TestConstMemberFunc调用 //x=1;Error...原创 2011-11-23 10:06:23 · 141 阅读 · 0 评论 -
const 指针;bitset测试
测试cosnt 指针[code="c++"] //从右向左阅读声明,实际上const放在类型之后比较好 const int i=1;//i为常量 :i为一个const int const int *ip;//ip指向的int为const的:ip 为一个const int的*指针 int const *ip2;//等同于ip的声明 int * const ipConst;...2011-11-22 17:13:11 · 299 阅读 · 0 评论 -
C++笔记---reference
[code="java"]const int a=1024;const int &ra=a;//const变量的引用的类型也必须是const的[/code]引用不能被第二次赋值[code="java"] int b=20,c=1; int& rb=b; rb=c;//相当于b=c;而非现在rb是c的引用[/code]...原创 2011-11-18 16:39:02 · 75 阅读 · 0 评论 -
CUDA程序block和thread超出硬件允许值时的异常
调用CUDA的核函数时指定block 和 thread大小,该大小可以是dim3类型的(三维数组),只用一维时可以是usigned int型的。以下程序验证了当block或thread大小超出硬件允许值时会产生异常!!!GPU根本不会执行运算!!!所以验证结果的正确性很重要!!!在VS中创建CUDA项目会有一个模板,里面有更详细的状态验证。以下程序在K5000GPU上跑的。...原创 2015-07-13 11:32:18 · 1699 阅读 · 0 评论 -
使Visual Assist X支持CUDA的.cu文件的代码提示
现在安装CUDA很方便了,直接支持Visual Studio。但代码提示很烂!!!具体方法参见:[url]http://www.myexception.cn/cuda/1266303.html[/url]这里简单记录一下使Visual Assist X支持.cu文件代码提示的步骤:[color=blue][size=large]1、Visual Assist选项中添加CUD...原创 2015-07-17 00:05:31 · 1122 阅读 · 0 评论 -
c++ 函数指针模板
[size=large]直接按如下定义是不行的,会报错!!![/size][code="c++"]typedef template bool (*templateFunc)(const T& t1,const T& t2); //编译不通过!!![/code][size=large]但是不意味着不可以以模板函数作为函数的参数!!!回顾函数指针时[/size][url]http://c...原创 2012-10-18 14:04:36 · 249 阅读 · 0 评论 -
(Visual studio)C++ 中assert带自定义的消息
直接贴文件如下:[code="C++"]#ifdef NDEBUG#define assert(_Expression) ((void)0)#define assertMsg(_Expression, _Msg) ((void)0)#else #include #include "assert.h" #define assert(_Expression)...原创 2012-11-23 14:22:26 · 767 阅读 · 0 评论 -
【测速】memcpy()对比for循环逐个对象拷贝
[color=red][size=x-large]结论:[/size][/color][size=large]一般情况下,memcpy()函数比for循环快个一两倍,某些特殊值上稍微慢点儿。[/size][color=red][size=x-large]注意:[/size][/color][size=large]对于需要构造函数、析构函数的类,可能要在拷贝时重载=运算符,此时memcpy(...原创 2012-11-16 20:42:46 · 1821 阅读 · 0 评论 -
C++中的placement new--在指定位置调用某类的构造函数
[size=large]先贴上参考资料的网址:[/size]1、[url]http://www.builder.com.cn/2008/0104/696370.shtml[/url]2、[url]http://c.chinaitlab.com/basic/783582_2.html[/url][size=large]感觉自己用的话不需要重载new运算符,毕竟都是要分配内存,调用构造...原创 2012-11-14 09:28:21 · 335 阅读 · 0 评论 -
【测速】矩阵翻转
[size=large]在微博中看到有人分享了篇文章“为什么转置512×512矩阵,会比513×513矩阵慢很多?”[/size][url]http://note.sdo.com/u/1557869253/n/sSPb5~k5HYUMLX0mU000QX[/url][size=large]没仔细看原理,但与缓存的命中率有关。今天写矩阵翻转的代码,突然想到这个问题。测了一下速度:[/size...原创 2012-11-08 16:40:53 · 112 阅读 · 0 评论