2011年8月1日

动态链接库与静态链接库

摘要: 静态库包括.lib和.h文件,在工程中使用静态库分为3步:1在工程中加入静态库,有两种方法:方法一:项目设置中引用.lib,project-setting-link-object/library modules中添加.lib;(需要在tools/options设置正确的引用路径)方法二:在项目中直接加入lib,project-add to project-files,选择正确的.lib。2在工程中包括.h文件;(可能需要在tools/options设置正确的引用路径)3在工程中使用静态库中的函数.动态链接库一般包括.lib(导出函数),.h,.dll,使用动态库有两种情况:1隐式链接,同使用静 阅读全文

posted @ 2011-08-01 21:50 伪君 阅读(384) 评论(0) 推荐(0) 编辑

不同级目录文件的#include

摘要: 本文主要介绍了如何不同文件夹下使用预处理器指示符#include。假设我们有如下一个工程,其中包含了几个源代码文件和头文件。其中main.c是主源代码文件,里面包含main函数。在base中包含:func3.h,func3.c,文件夹main和文件夹func4在main中包含:main.c,func1.h,func1.c和文件夹func2。在func2中包含:func2.h和func2.c在func4中包含:func4.h和func4.c在main中包含头文件func1.h:#include "func1.h"这里main.c和func1.h在同一个文件下。在main中包含 阅读全文

posted @ 2011-08-01 08:55 伪君 阅读(1516) 评论(0) 推荐(0) 编辑

2011年6月28日

vs2008快捷键

摘要: Ctrl+E,D ----格式化全部代码 Ctrl+E,F ----格式化选中的代码 CTRL + SHIFT + B生成解决方案 CTRL + F7 生成编译 CTRL + O 打开文件 CTRL + SHIFT + O打开项目 CTRL + SHIFT + C显示类视图窗口 F4 显示属性窗口 SHIFT + F4显示项目属性窗口 CTRL + SHIFT + E显示资源视图 F12 转到定义 CTRL + F12转到声明 CTRL + ALT + J对象浏览 CTRL + ALT + F1帮助目录 CTRL + F1 动态帮助 F1 帮助 SHIFT + F1当前窗口帮助 CTRL + 阅读全文

posted @ 2011-06-28 08:58 伪君 阅读(237) 评论(0) 推荐(0) 编辑

2011年6月23日

仿射变换

摘要: 开始做模拟时钟的bean了,看dW上Java2D的那个例子很有意思,比JDK自带的applet要简单,因为用到了仿射变换(AffineTransformation),只用简单得多的运算就可以绘制较高质量的动画。乘SUN的JavaDoc中文化之东风,先把java.awt.geom.AffineTransform的APIdoc之一部分简单翻译一下,只涉及到一点几何和线性代数的小常识:=============================================AffineTransform类描述了一种二维仿射变换的功能,它是一种二维坐标到二维坐标之间的线性变换,保持二维图形的“平直性” 阅读全文

posted @ 2011-06-23 13:21 伪君 阅读(785) 评论(0) 推荐(0) 编辑

2011年6月22日

C++中#include包含头文件带 .h 和不带 .h 的区别

摘要: 如 #include <iostream> 和 #include <iostream.h> 包含的东西有哪些不同? 之前在写C++程序的时候只知道使用 #include <iostream> 的时候,使用函数前要用 using namespace std; 导入命名空间,而 #include <iostream.h> 则不用,这个得看C++标准化过程为C++开发者做了哪些有意义的工作。C++标准化过程中,其中一个环节,解决了以下问题:(1)C++增加了名称空间概念,借以将原来声明在全局空间下的标识符声明在了namespace std下。(2)统一 阅读全文

posted @ 2011-06-22 17:04 伪君 阅读(1323) 评论(0) 推荐(0) 编辑

2011年6月16日

VS2008中捕获内存泄露

摘要: 内存泄露十分讨厌,捕获内存泄露更加令人厌烦……其实,VS本身就有内存泄露的检测机制。只需做以下操作即可开启。(同时必须在debug模式下运行程序并且以正常流程退出)//在入口函数cpp中添加以下定义和头文件#defineCRTDBG_MAP_ALLOC#include<stdlib.h>#include<crtdbg.h>//在入口函数一开始添加以下代码_CrtDumpMemoryLeaks();_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF|_CRTDBG_LEAK_CHECK_DF);然后在以正常流程退出程序后, 就会在输出窗口显示出内存泄露 阅读全文

posted @ 2011-06-16 15:12 伪君 阅读(3381) 评论(0) 推荐(0) 编辑

2011年6月9日

解SVD和最小二乘clapack

摘要: 用IntelMKL解SVD和最小二乘Posted on04月 2, 2010byxuanmanstein2010年4月2日星期五这几天赶着移植算法,要把MATLAB程序用C++改写。涉及6000多维的方阵运算,幸亏笔记本上2008R2是64位的,64位MATLAB还能算出数来,32位电脑上的MATLAB直接就存储空间不足罢工了。研究了几个C++下矩阵运算的库,boost带的BLAS太矬,lapack,clapack,cpplapack全是在Linux上的设置多,讲windows下配置的太少,都得用Makefile慢慢编译……搞科学计算的牛人都是用Linux,可对我这种半路出家的矬人实在是过于高 阅读全文

posted @ 2011-06-09 10:38 伪君 阅读(1505) 评论(0) 推荐(0) 编辑

2011年6月7日

OPENCV基本操作

摘要: GEMM通用矩阵乘法void cvGEMM( const CvArr* src1, const CvArr* src2, double alpha, const CvArr* src3, double beta, CvArr* dst, int tABC=0 );#define cvMatMulAdd( src1, src2, src3, dst ) cvGEMM( src1, src2, 1, src3, 1, dst, 0 )#define cvMatMul( src1, src2, dst ) cvMatMulAdd( src1, src2, 0, dst )src1 第一输入数组 sr 阅读全文

posted @ 2011-06-07 16:49 伪君 阅读(2304) 评论(0) 推荐(0) 编辑

2011年5月26日

常见排序算法稳定性和复杂度分析

摘要: 常见排序算法稳定性和复杂度分析1.排序算法的稳定性分析:若待排序的序列中,存在多个具有相同关键字的记录,经过排序,这些记录的相对次序保持不变,则称该算法是稳定的;若经排序后,记录的相对次序发生了改变,则称该算法是不稳定的。(1)冒泡排序冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。所以,如果两个元素相等,我想你是不会再无聊地把他们俩交换一下的;如果两个相等的元素没有相邻,那么即使通过前面的两两交换把两个相邻起来,这时候也不会交换,所以相同元素的前后顺序并没有改变,所以冒泡排序是一种稳定排序算法。(2)选择排序选择排序是给每个位置选择当前 阅读全文

posted @ 2011-05-26 16:25 伪君 阅读(453) 评论(0) 推荐(0) 编辑

2011年5月25日

基本数据类型

摘要: int类型比较特殊,具体的字节数同机器字长和编译器有关。如果要保证移植性,尽量用__int16 __int32 __int64吧,或者自己typedefintINT32一下。C、C++标准中只规定了某种类型的最小字节数(防止溢出)64位指的是cpu通用寄存器的数据宽度是64位的。找到一个图数据类型名称字节数别名取值范围int*signed,signedint由操作系统决定,即与操作系统的”字长”有关unsignedint*unsigned由操作系统决定,即与操作系统的”字长”有关__int81char,signed char–128 到 127__int162short,shortint,si 阅读全文

posted @ 2011-05-25 15:47 伪君 阅读(183) 评论(0) 推荐(0) 编辑

导航