编程语言
文章平均质量分 60
zhoucy163
这个作者很懒,什么都没留下…
展开
-
c++ split string
vector split(const string& in, const string& delim){ stringstream tran(in.c_str()); string tmp; vector out; out.clear(); while(std::getline(tran,tmp,*(delim.c_str()))) { out.push_back(tmp);原创 2014-09-05 09:39:30 · 771 阅读 · 0 评论 -
字符串化的预处理器
#include using namespace std;#define P(EX) cout << #EX << ":" << EX<<endl;int main(){ int i = 15; P(i); // cout<< #i <<":" << i<<endl; cout<<("#")<<endl; cout<<"in dec :"<<dec<<i<<原创 2013-06-08 23:39:34 · 907 阅读 · 0 评论 -
关于:宏 (带参数的宏定义)
对于C & C++中的宏定义,很简单。举例如声明一个宏:#define MY_DEFINE I love U宏名在代码当中只是一段文字,唯一的作用就是在程序预编译时将宏名 替换 为宏的表达式,这里为 I love U.printf("______%s_____", MY_DEFINE);如果是带参数的宏定义:#define MOD(转载 2013-06-08 23:43:43 · 1005 阅读 · 0 评论 -
Mac OS X – BootCamp安装Win7小记
如题…之前给两个Mac装过,一个是MBA一个是MBP,MacOS都是上一个版本的,虽说也是从Bootcamp里装,但是感觉没有这次这么简单——一个是好像下载驱动要自己去找,另一个好像是只能用光盘安装(这点我不确定,毕竟那会有现成的光驱让我用,所以我也没想用U盘装)。这次哥们的MBA是新买的,系统自然也是最新的,所以感受到了一些小变化。因为我是在安装之后才想要记下来的,所以必然有些截图是缺失的,转载 2013-06-08 18:50:26 · 2318 阅读 · 0 评论 -
c与c++ static函数的区别
c与c++ static函数的区别static关键字是C, C++中都存在的关键字, 它主要有三种使用方式, 其中前两种只指在C语言中使用, 第三种在C++中使用(C,C++中具体细微操作不尽相同, 本文以C++为准).(1)局部静态变量(2)外部静态变量/函数(3)静态数据成员/成员函数下面就这三种使用方式及注意事项分别说明一、局部静态变量在C/C++中, 局部变量按转载 2013-03-21 22:27:42 · 595 阅读 · 0 评论 -
[转载]int,int32_t,int64_t
原文地址:int,int32_t,int64_t作者:走向希望这些事跨平台编程导致的;一、数据类型特别是int相关的类型在不同位数机器的平台下长度不同。C99标准并不规定具体数据类型的长度大小,只规定级别。作下比较:16位平台char 1个字节8位short 2个字节16位int 2个字节1转载 2013-03-21 22:10:00 · 808 阅读 · 0 评论 -
文件查找find方法
通用格式:find pathname -options [-print -exec -ok]例子:find / -name filename 再根目录里面搜索文件名为filename的文件find /etc -name *s*在目录里面搜索带有s的文件find /etc -name *S 在目录里面搜索以s结尾的文件find /etc -name s*在目录里面搜索以s开头的文转载 2013-04-03 20:49:12 · 892 阅读 · 0 评论 -
python脚本中的#!/usr/bin/python
python脚本开头有这么行: #!/usr/bin/python#!/usr/bin/env python与#!/usr/bin/python的区别 #!/usr/bin/python是告诉操作系统执行这个脚本的时候,调用/usr/bin下的python解释器;相当于写死了python路径; #!/usr/bin/env python 是为了防止操作系统用户转载 2013-04-03 20:21:19 · 1681 阅读 · 0 评论 -
Python执行系统命令的方法 os.system(),os.popen(),commands
最近在做那个测试框架的时候发现 Python 的另一个获得系统执行命令的返回值和输出的类。最开始的时候用 Python 学会了 os.system() 这个方法是很多比如 C,Perl 相似的。os.system('cat /proc/cpuinfo')但是这样是无法获得到输出和返回值的,继续 Google,之后学会了 os.popen()。转载 2013-04-03 19:58:12 · 1122 阅读 · 0 评论 -
inline函数
在函数声明或定义中函数返回类型前加上关键字inline即把min()指定为内联。 inline int min(int first, int secend) {/****/}; inline 函数对编译器而言必须是可见的,以便它能够在调用点内展开该函数。与非inline函数不同的是,inline函数必须在调用该函数的每个文本文件中定义。当然,对于同一程序的不同文件,如果转载 2013-06-26 10:33:13 · 956 阅读 · 0 评论 -
__DATE__,__FILE__,__LINE__,__TIME__,__FUNCTION__ c 程序调试信息
C标准中指定了一些预定义的宏,对于编程经常会用到。下面这个表中就是一些常常用到的预定义宏。__DATE__进行预处理的日期(“Mmm dd yyyy”形式的字符串文字)__FILE__代表当前源代码文件名的字符串文字__LINE__代表当前源代码中的行号的整数常量__TIME__源文件编译时间,格式微“hh:mm:ss”__FUNCT转载 2014-04-25 13:59:19 · 591 阅读 · 0 评论 -
c++ 函数默认值的设置
函数默认值的设置是在声明的时候,在实现的时候不需要再次设置原创 2014-04-25 13:13:41 · 1142 阅读 · 0 评论 -
C++项目中的extern "C" {}
在用C++的项目源码中,经常会不可避免的会看到下面的代码:123456789#ifdef __cplusplusextern "C" {#endif /*...*/ #ifdef __cplusplus}#end转载 2014-04-24 17:28:52 · 505 阅读 · 0 评论 -
ald install for ubuntu
tar xvzf ald-0.1.7.tar.gz$ cd ald-0.1.7/$ ./configure$ make$ sudo make install # 注意要root权限在make的过程中,出现这个错误:readln.c:25:31: fatal error: readline/readline.h: No such file转载 2014-04-19 11:25:35 · 1176 阅读 · 1 评论 -
struct stat结构体的详解和用法
[cpp] view plaincopy//! 需要包含de头文件 #include #include int stat(const char *filename, struct stat *buf); //! prototype,原型 struct stat { dev_t原创 2014-04-16 10:49:58 · 633 阅读 · 0 评论 -
二叉树的遍历
二叉树的遍历分为递归和非递归两种形式,递归的比较容易void preOrder(Node* root){ if(root != NULL){ visit(root); preOrder(root->left); preOrder(root->right); }}原创 2013-12-27 11:18:00 · 594 阅读 · 0 评论 -
二叉树的最近父结点的查找(Least Common Ancestor)
二叉树最近父结点的查找分为3中情况:结点中带有parent指针;结点中只有左右孩子的指针;树是一颗二叉查找树1. 结点带有parent指针的二叉树。思想是先从给定的两个结点a 和 b出发,回溯到root,分别记录步长,然后同步使步长相等,之后同步往root回溯,第一个相等的结点就是最近父节点。原创 2013-12-26 20:53:57 · 1206 阅读 · 0 评论 -
Gcc编译流程解析
Gcc的编译流程分为了四个步骤,分别为:· 预处理(Pre-Processing)· 编译(Compiling)· 汇编(Assembling)· 链接(Linking)下面就具体来查看一下Gcc是如何完成四个步骤的。首先,有以下hello.c源代码 #includeint main(){ printf("Hello! This is转载 2014-01-01 13:40:14 · 777 阅读 · 0 评论 -
C/C++刁钻问题各个击破之细说sizeof
摘要:Sizeof的作用非常简单:求对象或者类型的大小。然而sizeof又非常复杂,它涉及到很多特殊情况,本篇把这些情况分门别类,总结出了sizeof的10个特性:(0)sizeof是运算符,不是函数;(1)sizeof不能求得void类型的长度;(2)sizeof能求得void类型的指针的长度;(3)sizeof能求得静态分配内存的数组的长度!(4)sizeof不能求得动转载 2013-12-28 20:49:55 · 580 阅读 · 0 评论 -
C/C++结构体字节对齐详解
结构体的sizeof先看一个结构体:struct S1{ char c; int i;}; sizeof(s1)在VC6中按默认设置得到的结果为8。我们先看看sizeof的定义——sizeof的结果等于对象或者类型所占的内存字节数,好吧,那就让我们来看看S1的内存分配情况S1 s1 = { 'a', 0xFFFFFFFF };定义上面的变量后,加转载 2013-12-11 16:36:19 · 1266 阅读 · 0 评论 -
C中struct的函数实现
C中struct的函数实现,只能用函数指针成员C/C codeCode highlighting produced by Actipro CodeHighlighter(freeware)http://www.CodeHighlighter.com/#include struct test{ voidfun() { printf("h转载 2013-12-09 11:25:36 · 766 阅读 · 0 评论 -
7个示例科普CPU Cache
CPU cache一直是理解计算机体系架构的重要知识点,也是并发编程设计中的技术难点,而且相关参考资料如同过江之鲫,浩瀚繁星,阅之如临深渊,味同嚼蜡,三言两语难以入门。正好网上有人推荐了微软大牛Igor Ostrovsky一篇博文《漫游处理器缓存效应》,文章不仅仅用7个最简单的源码示例就将CPU cache的原理娓娓道来,还附加图表量化分析做数学上的佐证,个人感觉这种案例教学的切入方式绝对是俺的菜转载 2013-09-11 21:50:58 · 787 阅读 · 0 评论 -
Python print函数用法,print 格式化输出
使用print输出各型的字符串整数浮点数出度及精度控制strHello = 'Hello Python' print strHello#输出结果:Hello Python#直接出字符串1.格式化输出整数python print也支持参数格式化,与C言的printf似,strHello = "the length of (%s)转载 2013-04-03 19:57:47 · 1012 阅读 · 0 评论 -
python 调用可执行文件
import osimport sysif __name__ == "__main__": fid = open("image_500k.haystack.log", "r"); dfid = open("djpeg.sh", "w"); hfid = open("detect_points.sh", "w"); sfid = open("compute_des转载 2013-04-03 17:30:21 · 1240 阅读 · 0 评论 -
Python strip lstrip rstrip使用方法
Python中的strip用于去除字符串的首尾字符,同理,lstrip用于去除左边的字符,rstrip用于去除右边的字符。这三个函数都可传入一个参数,指定要去除的首尾字符。需要注意的是,传入的是一个字符数组,编译器去除两端所有相应的字符,直到没有匹配的字符,比如:?theString = 'saaaay yes no yaaaass'prin转载 2013-04-03 17:37:21 · 586 阅读 · 0 评论 -
我的OpenCV学习笔记(12):VideoCapture类
这次通过一个读取视频的综合例子来介绍VideoCapture类的一些基本操作:[cpp] view plaincopy#include #include #include #include using namespace std; using namespace cv; int main() { //打开视频文件:其实就是建立一个转载 2013-03-29 10:30:01 · 990 阅读 · 0 评论 -
C++类模板的三种特化
说起C++的模板及模板特化, 相信很多人都很熟悉 ,但是说到模板特化的几种类型,相信了解的人就不是很多。我这里归纳了针对一个模板参数的类模板特化的几种类型, 一是特化为绝对类型; 二是特化为引用,指针类型;三是特化为另外一个类模板。 这里用一个简单的例子来说明这三种情况:// general versiontemplateclass T>class Compare{pu转载 2013-03-29 10:11:58 · 717 阅读 · 0 评论 -
OpenCV resize()
// Load images in the C++ formatcv::Mat img = cv::imread("something.jpg");cv::Mat src = cv::imread("src.jpg");// Resize src to img sizecv::resize(src, src, img.size());转载 2013-03-08 18:52:06 · 1211 阅读 · 0 评论 -
C++ stringstream介绍,使用方法与例子
From: http://www.usidcbbs.com/read-htm-tid-1898.htmlC++引入了ostringstream、istringstream、stringstream这三个类,要使用他们创建对象就必须包含sstream.h头文件。 istringstream类用于执行C++风格的串流的输入操作。 ostringstream类用于执行C风格转载 2013-03-08 09:45:59 · 1200 阅读 · 0 评论 -
ofstream和ifstream详细用法
ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间;在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符:1、插入器( 向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器,所以,cout2、析取器(>>)转载 2013-03-07 21:27:55 · 687 阅读 · 0 评论 -
atoi
C语言库函数名: atoi功 能: 把字符串转换成整型数。名字来源:ASCII to integer 的缩写。原型: int atoi(const char *nptr);函数说明: 参数nptr字符串,如果第一个非空格字符存在或者不是数字也不是正负号则返回零,否则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时停止转换,返回整型数。头文件: #转载 2013-03-08 10:17:05 · 772 阅读 · 0 评论 -
霍夫变换原理
国内外对Hough变换的研究及应用动态 Hough变换于1962年由Paul Hough提出,并在美国作为专利被发表。它所实现的是一种从图像空间到参数空间的映射关系。由于具有一些明显优点和可贵性质,它引起了许多国内外学者和工程技术人员的普遍关注。例如,由于其根据局部度量来计算全面描述参数,因而对于区域边界被噪声干扰或被其他目标遮盖而引起边界发生某些间断的情况,它具有很好的容错性和鲁棒性。多年转载 2012-10-15 17:41:56 · 2765 阅读 · 0 评论 -
解决:Win764位、VS2010、OpenCV2.3.1出现“丢失tbb_debug.dll”错误
问题描述: Win7、VS2010、OpenCV2.3.1 出现:“无法启动此程序,因为计算机中丢失tbb_debug.dll.尝试重新安装该程序以解决问题”。解决方法: (详见OpenCV中文网站论坛http://www.opencv.org.cn/forum/viewtopic.php?p=52223)论坛中提到的方法: 方法一:下载t转载 2012-10-11 22:45:35 · 1521 阅读 · 0 评论 -
testagain
#include#include#includeusing namespace std;int main (){ CvPoint2D32f srcQuad[4],dstQuad[4]; CvMat*warp_matrix=cvCreateMat(3,3,CV_32FC1);//此段程序没有成功,可能原因是 IplImage*src1,*dst; src1=cvL原创 2012-10-07 17:44:34 · 517 阅读 · 0 评论 -
Sobel算子及cvSobel
由于项目里要用到边缘检测,所以今天研究了一下最简单的梯度的方法。 首先,我们来开一下计算机是如何检测边缘的。以灰度图像为例,它的理论基础是这样的,如果出现一个边缘,那么图像的灰度就会有一定的变化,为了方便假设由黑渐变为白代表一个边界,那么对其灰度分析,在边缘的灰度函数就是一个一次函数y=kx,对其求一阶导数就是其斜率k,就是说边缘的一阶导数是一个常数,而由于非边缘的一阶导数为零,这样通过转载 2012-10-07 21:01:53 · 686 阅读 · 0 评论 -
杂记
opencv中,重复释放一个IplImage的指针不会发生错误。原创 2012-10-07 15:50:24 · 424 阅读 · 0 评论 -
深入讨论C++的enum
enum的秘密:enum是“用户自定义类型” 呵呵,enum在实际中应用比较少,所以你会忽略它。但是,在这里,我告诉你,enum 和 struct、class一样,都是用户自定义类型。 对呀!enum是用户自定义类型,他有数据成员,还有成员函数!For example: enum e{a=1 , b=2 , c=4};那么: 001: enum转载 2013-03-30 21:41:46 · 700 阅读 · 0 评论 -
新手入门:C/C++中枚举类型(enum)
如果一个变量你需要几种可能存在的值,那么就可以被定义成为枚举类型。之所以叫枚举就是说将变量或者叫对象可能存在的情况也可以说是可能的值一一例举出来。 举个例子来说明一吧,为了让大家更明白一点,比如一个铅笔盒中有一支笔,但在没有打开之前你并不知道它是什么笔,可能是铅笔也可能是钢笔,这里有两种可能,那么你就可以定义一个枚举类型来表示它!enum box{pencil,pen};//这里你转载 2013-03-30 22:05:08 · 669 阅读 · 0 评论 -
Boost 的 C++ 格式化輸出函式庫:Format
這篇是之前預告過的 Boost C++ Libraries 系列文章的第一篇。所介紹的,是在 Boost 裡用來格式化輸出的函式庫:boost::format。他最大的特色是在於它可以使用 C 語言中 printf 的格式化字串,來針對 C++ 的 iostream 做輸出、或是產生格式化的字串;相較於 C++ iostream 的 manipulator,boost::format 在使转载 2013-04-03 16:33:53 · 852 阅读 · 0 评论 -
Boost常用库用法
1、#include字符串转换为数字: boost::lexical_cast("123");数字转换为字符串: boost::lexical_cast(123);2、#include判断是否为目录:boost::filesystem::is_directory("/home/test");3、#include判断是否以某字符串:boost::algor转载 2013-04-03 13:55:26 · 862 阅读 · 0 评论