C++
南山牧笛
只有站在高处,才会看见更美丽的风景
展开
-
深入理解const char*p,char const*p,char *const p,const char **p,char const**p,char *const*p,char**const p
深入理解const char*p,char const*p,char *const p,const char **p,char const**p,char *const*p,char**const p一、可能的组合:(1)const char*p(2)char const*p(3)char *const p(4)const char **p(5)char转载 2015-07-26 20:47:26 · 559 阅读 · 0 评论 -
手把手教你cuda5.5与VS2010的编译环境搭建
学习(58) 作者同类文章Xc++(9) 作者同类文章XCUDA安装(1) 作者同类文章X目前版本的cuda是很方便的,它的一个安装里面包括了Toolkit`SDK`document`Nsight等等,而不用你自己去挨个安装,这样也避免了版本的不同步问题。1 cuda5.5的下载地址,官方网转载 2015-12-14 19:32:28 · 409 阅读 · 0 评论 -
手把手教你cuda5.5与VS2010的编译环境搭建
目前版本的cuda是很方便的,它的一个安装里面包括了Toolkit`SDK`document`Nsight等等,而不用你自己去挨个安装,这样也避免了版本的不同步问题。1 cuda5.5的下载地址,官方网站即可: https://developer.nvidia.com/cuda-downloads 在里面选择你所对应的电脑版本即可。2 VS2010这个没什么转载 2015-12-15 18:39:20 · 293 阅读 · 0 评论 -
将项目的平台由32位改为64位:VS2013修改编译平台的方法
[摘要:之后果为念见地一下64位的sizeof,以是设置装备摆设vs为64位的编译仄台,方式以下: 1、左键工程--属性 面击左上角的 设置装备摆设治理器 2、找到对应的项目,正在仄台一栏傍边面击下推,若是已有6]之前因为想见识一下64位的sizeof,所以配置vs为64位的编译平台,方法如下:1、右键工程--属性点击右上角的配置管理器2、找到对应的项目,在平台一栏当中转载 2015-12-17 22:53:36 · 16865 阅读 · 0 评论 -
关于windows下编译caffe中blob C4996: 'std::_Copy_impl': Function call with parameters that may be unsafe?
今天在windows下配置了caffe,在编译blob.cpp文件时,发生了如下错误error C4996: 'std::_Copy_impl': Function call with parameters that may be unsafe错误 34 error C4996: 'std::_Copy_impl': Function call with parameters that原创 2015-12-18 19:12:05 · 4121 阅读 · 0 评论 -
win10+VS2013编译caffe的common.cpp错误error C4996: ‘getpid': The POSIX name for this item is deprecated.
win10+VS2013编译caffe的common.cpp发生错误 error C4996: 'getpid': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getpid. See online help for details.D:原创 2015-12-18 20:02:19 · 11097 阅读 · 0 评论 -
vs2013编译caffe的io.cpp文件错误,open close无法识别
vs2013编译caffe的io.cpp文件错误,open和close无法识别,解决方法:将下列代码放在io.cpp的前面#ifdef _MSC_VER#define open _open#endif在有close(fd)的地方改为 #ifdef _MSC_VER close(fd); #else _close(fd); #en原创 2015-12-19 20:19:14 · 1950 阅读 · 0 评论 -
发现了一个C++错误查询很好的网站
发现了一个C++错误查询很好的网站,在编译Caffe时,好几个问题都是在这里找到的,同时我也发现,主要是我的编译器是vs2013,可能他们用的是vs2010http://www.vcerror.com/原创 2015-12-20 11:48:11 · 1386 阅读 · 0 评论 -
编译caffe中的hdf5.cpp时发生错误
编译caffe中的hdf5.cpp时发生错误:类似error C2360: initialization of ‘pch’ is skipped by ‘case’ label: see declaration of ‘pch’解决方法:问题描述:case 6:char* pch=NULL;…Sleep(100);break;原创 2015-12-20 12:50:46 · 1627 阅读 · 0 评论 -
编译caffe中的base_data_layer.cpp错误
编译caffe中的base_data_layer.cpp错误:提示streamd等等错误信息,原因都是SDL标准格式的问题,VS2010和VS2013不同,所以发生了错误。解决方法:工程右键 属性->c/c++ ->常规->SDL检查,(这样就不会进行标准检查)将 是 改成 否 ,问题解决原创 2015-12-20 13:09:16 · 786 阅读 · 0 评论 -
编译Caffe时发生错误LINK : fatal error LNK1104: 无法打开文件“opencv_contrib300d.lib”
解决方法:方法一:官网下的最新的3.0.0版是不完整的,换到2.4.9就好了方法二:opencv3.0.0没有opencv_contrib300d.lib这个东西,直接去掉。我用的方法二解决原创 2015-12-20 13:12:19 · 3709 阅读 · 0 评论 -
编译Caffe时遇到error LNK2005: opencv_core300d.lib已经在 MSVCRTD.lib(MSVCR90D.dll) 中定义
编译Caffe时遇到error LNK2005: opencv_core300d.lib已经在 MSVCRTD.lib(MSVCR90D.dll) 中定义解决方法:问题描述(我遇到的问题和这个类似,但不完全一样,解决方法是一样的,用的是方法一):正在链接…1>NetFuncLib_d.lib(IpList.obj) : error LNK2005: “public:原创 2015-12-20 13:52:08 · 3371 阅读 · 0 评论 -
编译caffe时,遇到问题:无法打开文件“libboost_thread-vc120-mt-gd-1_58.lib
新手,Visual Studio 2013 配置Boost库。 如何编译和选择,遇到无法打开文件“libboost_thread-vc120-mt-gd-1_58.lib的解决办法1.到官网下载最新的boost,www.boost.org 这里我下载的1-58版本2.解压3.从开始菜单打开VS的Visual Studio Tools,选择X86命令提示(感觉应该也可转载 2015-12-20 14:08:35 · 14138 阅读 · 1 评论 -
error LNK2038: 检测到“_MSC_VER”的不匹配项: 值“1600”不匹配值“1700”
问题描述:在用VS2012编译时出现下面的错误error LNK2038: 检测到“_MSC_VER”的不匹配项: 值“1600”不匹配值“1700”error LNK2038: 检测到“_MSC_VER”的不匹配项: 值“1600”不匹配值“1800”问题分析:_MSC_VER 定义编译器的版本。下面是一些编译器版本的_MSC_VER值:转载 2015-12-20 14:24:41 · 10840 阅读 · 1 评论 -
解决 Cocos2d-x 3.2 error C1041: 无法打开程序数据库vc120.pdb
Cocos2d-x 3.2最高支持的VS版本为2012,我在VS2013上编译新建立的项目遇到错误:错误 1 error C1041: 无法打开程序数据库“x:\cocos2d-x-3.2\projects\hellococo\cocos2d\external\chipmunk\proj.win32\debug.win32\vc120.pdb”;如果要将多个 CL.EXE 写入同一个转载 2015-12-20 14:47:37 · 7142 阅读 · 0 评论 -
C++中将string类型转换为int, float, double类型 主要通过以下几种方式:
C++中将string类型转换为int, float, double类型 主要通过以下几种方式:# 方法一: 使用stringstreamstringstream在int或float类型转换为string类型的方法中已经介绍过, 这里也能用作将string类型转换为常用的数值类型。Demo:[cpp] view plaincopy转载 2015-08-22 13:41:59 · 991 阅读 · 0 评论 -
C++内存分配一:C++程序内存的基本组成
知道c++中的变量存储方式,但是最近在思考一个问题,c++中的函数是怎样存储的,所以在网上找了一些资料,做了个总结,本文主要谈一谈C++程序内存的各个分配的内存区域以及各个内存区域之间的区别。一、 内存的基本构成 C++编译器将计算机内存分为代码区和数据区,很显然,代码区就是存放程序代码,而数据区则是存放程序编译和执行过程出现的变量和常量。数据区又分为静态数据区、动态数据区,动态转载 2015-08-22 13:54:44 · 625 阅读 · 0 评论 -
C++ 文件操作结构体SHFILEOPSTRUCT
有关文件夹拷贝函数的问题:SHFILEOPSTRUCT函数在windows下进行文件夹操作非常方便:但string和cstring相互转换时会产生错误,困扰了我几天。。。。。。。。。。。。。。。。。。。感谢网上的大神!!!!!解决方法如下:如此写即可:CString tempstr="c:\\q"; tempstr+='\0';原创 2015-07-24 13:31:24 · 1265 阅读 · 0 评论 -
windows下文件夹操作SHFILEOPSTRUCT
最近开发ocr系统,发现文件夹操作是一个看似很简单但却很头痛的事情:还好有SHFILEOPSTRUCT这个结构体,下面是删除和拷贝文件夹的两个函数,void DeleteFolder(CStringW lpszPath){SHFILEOPSTRUCT FileOp;ZeroMemory((void*)&FileOp, sizeof(SHFILEOPSTRUCT));原创 2015-07-26 12:12:05 · 1059 阅读 · 0 评论 -
c++只在基类中用虚析构函数的原因
C++的多态性是通过虚函数来实现的,虚函数的出现使得动态链接成为可能。基于构造函数的特点,不能将构造函数定义为虚函数,但可以将析构函数定义为虚函数。一般情况:当派生类的对象从内存中撤销时,会先调用派生类的析构函数,然后自动调用基类的析构函数,如此看来析构函数也没有必要定义为虚函数。但如考虑如下这种情况,如果使用基类指针指向派生类的对象,而这个派生类对象恰好是用new运算创建的,这种情况转载 2015-07-28 19:42:09 · 441 阅读 · 0 评论 -
C++ int类型转换string类型
C++中不像C#或Java中能直接使用字符串加法将 int类型转换为string类型。C++中进行这样的类型转换需要一些额外的函数。一、C++的int转string #方法一: 使用itoa函数: char * itoa ( int value, char * str, int base ); 说明:Conver转载 2015-08-22 13:40:36 · 2965 阅读 · 0 评论 -
一些C/C++开源项目网址
http://code.ijinshan.com/ http://search.csdn.net/CSDN搜索,CSDN还是有非常多的编程资源的,用它的搜索能搜出不少东西。代码类别也比较全面。http://snippets.org/简单实用的代码收集网站,强力推荐。比如你要找个DES加密,要找个数据压缩,找个INI文件操作的C代码等,均能手到擒来。http://www.转载 2015-07-29 21:44:04 · 503 阅读 · 0 评论 -
C/C++ 类和结构体的差别
C/C++结构体的区别 C中的结构体和C++中结构体的不同之处:在C中的结构体只能自定义数据类型,结构体中不允许有函数,而C++中的结构体可以加入成员函数。C++中的结构体和类的异同:一、相同之处:结构体中可以包含函数;也可以定义public、private、protected数据成员;定义了结构体之后,可以用结构体名来创建对象。但C中的结构体不允许有函数;也就是说在C++当中,结原创 2015-07-29 21:56:28 · 485 阅读 · 0 评论 -
C++实现快速排序(源代码)
快速排序的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。快速排序是一种不稳定的排序算法,也就是说,多个相同的值的相对位置也许会在算法结束时产生变动快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采转载 2015-08-13 13:54:05 · 438 阅读 · 0 评论 -
分享 MSDN 下载工具(Word/PDF)
分享 MSDN 下载工具(Word/PDF)给大伙分享一个最近出炉的 MSDN 到 Word/PDF 转换器。我已经用它转换了 WPF、VSPackage、WWF 等 MSDN 章节为 PDF。介绍下载使用要求使用方法结语 介绍现在的 MSDN 已经做得非常好了,章节非常清晰,从入门到精通各个层次都有。我常常会把 MSDN 当作一个系统的学习书籍转载 2015-08-15 12:11:18 · 518 阅读 · 0 评论 -
c++ const关键字至少有下列n个作用
const成员函数中不允许对数据成员进行修改,如果修改,编译器将报错,任何不会修改数据成员的函数都应该声明为const类型。如果在编写const成员函数时,不慎修改了数据成员,或者调用了其它非const成员函数,编译器将指出错误,这无疑会提高程序的健壮性。const关键字至少有下列n个作用: (1)欲阻止一个变量被改变,可以使用const关键字。在定义该const变量时,通常需要对它原创 2015-08-04 16:14:31 · 494 阅读 · 0 评论 -
参数传递二维数组
参数传递二维数组分类: C++基础2010-06-10 00:31 11749人阅读 评论(7) 收藏 举报编译器functionc 今天在论坛上有朋友提问:声明函数如下void function(int** pInt),意图是想参数传递一个二维数组。于是就定义了一个二维数组,比如 int[1][1],然后调用函数。结果如何?当然是失败了,编译器提示:ca转载 2015-07-24 14:59:43 · 487 阅读 · 0 评论 -
sizeof
一、文章来由—一道面试题迁出的探究我发现我已经形成一种习惯写来由了,以后看博客的时候可以让我回忆起为什么出现这个问题,我用什么方法解决的,既然形成习惯就让这个习惯保持下去吧。今天实验室师姐在看书,一处不解,是关于sizeof的,大家讨论此问题后,我一向信服做了才知道答案,于是有了这篇文章。但是只能叫小览,因为不可能总结完sizeof的用法,欢迎补充和讨论。二、从这道题目说起我直转载 2015-08-05 14:13:19 · 437 阅读 · 0 评论 -
c数组名和指针
1.请看下面的代码:int i, *pa, a[] = {3,4,5,6,7,3,7,4,4,6}; pa = a; for (i = 0; i { printf("%d\n", *pa); pa++; /*注意这里,指针值被修改*/ } 可以看出,这段代码也是将数组各元素值输出。不过,你把循环体{}中的pa改原创 2015-09-12 14:15:36 · 345 阅读 · 0 评论 -
堆和栈的区别
一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(stati转载 2015-09-12 14:21:08 · 360 阅读 · 0 评论 -
C++基础知识
在C++类中有两种成员数据:static、nonstatic;三种成员函数:static、nonstatic、virtual。原创 2015-09-12 14:26:30 · 351 阅读 · 0 评论 -
VTK实现简单科学可视化
VTK(Visualization ToolKit)是一种可视化工具箱,功能强大,能帮我们进行各种图像处理和可视化。本实验利用VTK对尸体头颅体数据进行科学可视化。实验环境:VS2015+VTK7.0VTK的安装有点麻烦,但这是个学习的过程,网上有许多相关教程,多花点时间肯定能成功。实验数据:本实验数据来源于:The stanford Volume Data转载 2018-01-15 09:48:06 · 1294 阅读 · 0 评论