- 博客(24)
- 资源 (2)
- 收藏
- 关注
原创 SQLConfigDataSource自动配置数据源
SQLConfigDataSource自动配置数据源SQLConfigDataSource()的原型如下:BOOL SQLConfigDataSource(HWND hwndParent, UINT fRequest, LPCSTR IpszDriver, LPCSTR IpszAttributes);其中四个参数的用法如下:●参数hwndPwent是父级窗口句柄。如果句柄为N
2015-04-24 17:40:26
865
原创 VC 改变窗口大小
CRect rc;GetWindowRect(&rc);rc.right = rc.left+rc.Width()*0.8;this->MoveWindow(rc);
2014-07-29 16:43:00
827
转载 C++ ofstream和ifstream详细用法
ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间; 在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符: 1、插入器( 向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器,所以,cout 2、
2014-07-29 10:19:20
379
转载 梯度下降算法
回归与梯度下降: 回归在数学上来说是给定一个点集,能够用一条曲线去拟合之,如果这个曲线是一条直线,那就被称为线性回归,如果曲线是一条二次曲线,就被称为二次回归,回归还有很多的变种,如locally weighted回归,logistic回归,等等,这个将在后面去讲。 用一个很简单的例子来说明回归,这个例子来自很多的地方,也在很多的open source的软件中看到,比如说w
2014-07-25 14:20:37
494
转载 matlab 遍历文件夹内文件
%%遍历所有文件path=uigetdirt = cd(path); % dos命令cd重置当前路径,自行设置,其下包含全部待处理文件allnames = struct2cell(dir); % dos命令dir列出所有的文件,用struct2cell转换为元胞数组[m,n] = size(allnames);for i= 3:n % 从3开始。前两个属于系统内部。
2014-07-05 22:22:49
1031
原创 matlab RGB图转灰度图
imgrgb = imread('flower.jpg');imwrite(imgrgb, 'flower.bmp', 'bmp'); % jpg格式转换为bmp格式imggray = rgb2gray(imgrgb);imwrite(imggray, 'flower_grayscale.bmp', 'bmp'); % 存储为灰度图像
2014-07-05 14:19:20
4843
2
转载 matlab 取整
matlab中小数取整的函数大约有四个:floor、ceil、round、fix若 A = [-2.0, -1.9, -1.55, -1.45, -1.1, 1.0, 1.1, 1.45, 1.55, 1.9, 2.0];floor:朝负无穷方向靠近最近的整数;floor(A)ans = -2 -2 -2 -2 -2 1 1
2014-05-07 09:04:35
544
转载 BMP结构
1. BMP文件组成 BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成。 2. BMP文件头 BMP文件头数据结构含有BMP文件的类型、文件大小和位图起始位置等信息。 其结构定义如下: typedef struct tagBITMAPFILEHEADER { WORDbfType; // 位图文件的类型,必须为BM DWORD bfSize; /
2014-04-03 16:13:48
444
转载 VC BMP图片操作
// pictureRead.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include #include #include unsigned char *pBmpBuf; //读入图像数据的指针unsigned char *pNewBmpBuf;int
2014-04-03 16:09:51
617
原创 C++ LIST
#include #include #include #include using namespace std;typedef struct pos{ int x; int y;}pos;typedef list listpos;int main(void){ list alist; listp
2014-03-25 21:45:03
406
转载 stm32的库文件
core_cm3.c文件在CoreSupport中的是位于CMSIS标准的核内设备函数层 的M3核通用的源文件core_cm3.c和头文件core_cm3.h,它们的作用是为那些采用Cortex-M3核设计SOC的芯片商设计的芯片外设提供一个进入M3内核的接口。这两个文件在其它公司的M3系列芯片也是相同的。core_cm3.c跟启动文件一样都是底层文件,都是由ARM公司提供的,遵守CMSIS标
2014-01-20 15:29:06
787
转载 stm32的启动文件
Libraries\CMSIS\Core\CM3\startup\arm文件夹下是由汇编编写的系统启动文件,不同的文件对应不同的芯片型号。cl:互联型产品,stm32f105/107系列 vl:超值型产品,stm32f100系列 xl:超高密度(容量)产品,stm32f101/103系列 ld:低密度产品,FLASH小于64K md:中等密度产品,FLASH=64 or 1
2014-01-20 15:09:59
1063
转载 GPIO
使用BSRR和BRR寄存器直接操作STM32的I/O端口STM32的每个GPIO端口都有两个特别的寄存器,GPIOx_BSRR和GPIOx_BRR寄存器,通过这两个寄存器可以直接对对应的GPIOx端口置'1'或置'0'。GPIOx_BSRR的高16位中每一位对应端口x的每个位,对高16位中的某位置'1'则端口x的对应位被清'0';寄存器中的位置'0',则对它对应
2014-01-18 16:02:10
570
转载 #ifndef
C语言在对程序进行编译时,会先根据预处理命令进行“预处理”。C语言编译系统包括预处理,编译和链接等部分。#ifndef x //先测试x是否被宏定义过#define x程序段 1 //如果x没有被宏定义过,定义x,并编译程序段 1#endif程序段 2 //如果x已经定义过了则编译程序段2的语句,“忽视”程序段 1。条件指示符#ifndef 的最主要目的是防止头文件的重复包
2014-01-16 23:36:56
413
转载 保护模式与实模式
第一:实模式下程序的运行回顾.程序运行的实质是什么?其实很简单,就是指令的执行,显然CPU是指令得以执行的硬件保障,那么CPU如何知道指令在什么地方呢?对了,80x86系列是使用CS寄存器配合IP寄存器来通知CPU指令在内存中的位置.程序指令在执行过程中一般还需要有各种数据,80x86系列有DS、ES、FS、GS、SS等用于指示不同用途的数据段在内存中的位置。程序可能需
2014-01-15 20:24:38
500
原创 STM32:GPIO
GPIO_InitTypeDef 结构体typedef struct{ uint16_t GPIO_Pin; //引脚号 GPIOSpeed_TypeDef GPIO_Speed; //配置速度 GPIOMode_TypeDef GPIO_Mode; //工作模式}GPIO_InitTypeDef;引脚定义
2014-01-14 15:14:56
781
转载 宏定义
格式:#define 标识符 字符串其中的标识符就是所谓的符号常量,也称为“宏名”。预处理(预编译)工作也叫做宏展开:将宏名替换为字符串。掌握"宏"概念的关键是“换”。一切以换为前提、做任何事情之前先要换,准确理解之前就要“换”。即在对相关命令或语句的含义和功能作具体分析之前就要换:例:#define Pi 3.1415926把程序中出现的Pi全部换成3.14159
2014-01-11 23:42:30
873
转载 typedef 用法
用途一:定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针,// 和一个字符变量;以下则可行:typedef char* PCHAR;PCHAR pa, pb; 这种用法很有用,特别是char* pa, pb的定义,初学
2014-01-11 23:25:30
394
转载 extern使用方法总结!
extern 在源文件A里定义的函数,在其它源文件里是看不见的(即不能访问)。为了在源文件B里能调用这个函数,应该在B的头部加上一个外部声明: extern 函数原型; 这样,在源文件B里也可以调用那个函数了。 注意这里的用词区别:在A里是定义,在B里是声明。一个函数只能(也必须)在一个源文件里被定义,但是可以在其它多个源文件里被声明。定义引
2014-01-11 23:05:22
455
转载 C++ map
Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作!1. map最基本的构造函数; mapmapstring; mapmapint; mapmapstring; mapmapchar; mapmapchar; mapmapint
2013-10-15 23:17:13
364
转载 C++ list样例
#include iostream> #include list> #include numeric> #include algorithm> using namespace std; //创建一个list容器的实例LISTINT typedef listint> LISTINT; //创建一个list容器的实例LISTCHAR typedef list
2013-10-15 22:53:22
483
原创 c语言常用操作
1.void *memcpy(void *dest, const void *src, size_t n);将n字节长的内容从一个内存地址复制到另一个地址。2.void *memmove(void *dest, const void *src, size_t n);将n字节长的内容从一个内存地址复制到另一个地址;与memcpy不同的是它可以正确作用于两个存在重叠的地址。
2013-09-20 10:39:13
488
转载 VC中句柄、指针、ID之间的转换
VC++中有关句柄和指针及其转换1.MFC窗口的句柄和指针的转换 (1) 一般窗口对象都会有一个其对应的句柄变量,所以我们可以取此对象的m_hWnd属性来得到句柄。 (2)使用GetSafeHwnd函数取得程序所在窗口类的句柄 (3)使用FromHandle函数来通过句柄得到其想要的指针 其他的一些方法: GetActi
2013-09-08 00:18:51
447
转载 VC 控件集合
常用类CRect:用来表示矩形的类,拥有四个成员变量:top left bottom right。分别表是左上角和右下角的坐标。可以通过以下的方法构造:CRect( int l, int t, int r, int b ); 指明四个坐标CRect( const RECT& srcRect ); 由RECT结构构造CRect( LPCRECT lpSrcRect )
2013-09-04 12:28:40
870
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人