摘要:
本文内容概要: 代码中特殊的注释技术——TODO、FIXME和XXX的用处。 前言:今天在阅读Qt Creator的源代码时,发现一些注释中有FIXME英文单词,用英文词典居然查不到其意义!实际上,在阅读一些开源代码时,我们常会碰到诸如:TODO、FIXME和XXX的单词,它们是有其特殊含义的。、TODO: + 说明:如果代码中有该标识,说明在标识处有功能代码待编写,待实现的功能在说明中会简略... 阅读全文
摘要:
对于数据在cpu与GPU之间同步的问题,caffe中用syncedMemory这个类来解 决;在GPU模式下,并且使用CUDA时,可以用CaffeMallocHost函数与CaffeFreeHost函数 来申请与释放内存; SyncedMemory的构造函数与析构函数不多说,可以看源码; 在该类中定义的变量有: void* cpu_ptr_; //数据在CPU上的指针; void* gpu... 阅读全文
摘要:
首先说明:Blob定义了一个类模板。 让我们看一下Blob的头文件里有什么哈: 定义了一个全局变量: const int kMaxBlobAxes = 32; 看看它的构造函数: Blob() : data_(), diff_(), count_(0), capacity_(0) {};explicit Blob(const int num, const int channels, const... 阅读全文
摘要:
可以参考: http://blog.csdn.net/houzengjiang/article/details/7718548 http://www.cnblogs.com/haippy/archive/2011/12/04/2276064.html 阅读全文
摘要:
对于变量的问题: 对变量赋值,a="hello world",现在打印变量a的内容:echo $a。 对于${}的使用:如$aall,我们想要$a,这是,就可以${a}all了。 对于$()与${}的区别:$()是执行里面的代码得到的结果;${}是参数,{}是为了避免后面的影响到了,比如参数${a}a这样连着使用。如果不用{},系统就会识别成$aa了。 $# 是传给脚本的参数个数 $... 阅读全文
摘要:
预处理过程时,会做以下事情或着更多: 将所有的#define删除,并且展开所有的宏定义; 处理所有条件编译指令,如#if,#ifdef等; 处理#include预编译指令,将被包含的文件插入到该预编译指令的位置。该过程递归进行,及被包含的文件可能还包含其他文件。 删除所有的注释//; 添加行号和文件 阅读全文
摘要:
1,gcc与g++的问题: 1.后缀为.c的,gcc把它当作是C程序,而g++当作是c++程序;后缀为.cpp的,两者都会认为是c++程序。 2.编译阶段,g++会调用gcc,对于c++代码,两者是等价的,但是因为gcc命令不能自动和C++程序使用的库联接,所以通常用g++来完成链接。 当我们常规使 阅读全文
摘要:
首先,官方的参考文献为:http://caffe.berkeleyvision.org/installation.html。 现在开始: 安装一些依赖包(对于gcc与g++编译器,就不多说了,可以apt-get install build-essentital),命令如下: 现在安装cuda,官方网 阅读全文
摘要:
程序运行是加载动态库的几种方法: 第一种,通过ldconfig命令 ldconfig是一个动态链接库管理命令,为了让动态链接库为系统所共享,还需运行动态链接库的管理命令它,ldconfig命令通常在系统启动时运行,而当一个用户安装我新的动态库时,就需要手工运行这个命令。ldconfig命令的用途, 主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.... 阅读全文
摘要:
pkg-config是一个工具,可以用于检测相应的依赖环境。 pkg-config用来检索系统中安装库文件的信息,典型的是用作库的编译和连接。一般来说,如果库的头文件不在/usr/include目录中,那么在编译的时候需要用-I参数指定其路径。由于同一个库在不同系统上可能位于不同的目录下,用户安装库的时候也可以将库安装在不同的目录下,所以即使使用同一个库,由于库的路径的不同,造成了用-I参数指定... 阅读全文