显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Mihooke's blog

IT之恋

 
 
 
 
 
 

[置顶] 关于mihooke这个人

2015-4-30 23:20:51 阅读65 评论0 302015/04 Apr30

本人网名Mihooke,源自航海王里的原七武海之一"鹰眼"---乔拉可尔·米霍克,甚喜之,遂取之音译英文于自用。

Mihooke是茫茫猿类中的一枚C++ developer ,目前正在成长中,努力学习各种技术!

联系我:

QQ:826457306E-mail:sadandeduoluozhich@163.com         mihooke@hotmail.com

技术宅们,有兴趣一起交流吧!

作者  | 2015-4-30 23:20:51 | 阅读(65) |评论(0) | 阅读全文>>

MFC画笔画刷简单使用

2016-6-10 17:47:13 阅读5 评论0 102016/06 June10

画线步骤:获取鼠标按下的消息->

取得当前的点->

在DC上获取DC->

MoveTo到当前的点->

LineTo到鼠标松开的点

/*CDC画线*/

CDC *hDC;

hDC = GetDC();

hDC->MoveTo(m_cpoint);

hDC->LineTo(point);

ReleaseDC(hDC);

/*CClientDC画线*/

CClientDC ccDC(this);

ccDC.MoveTo(m_cpoint);

ccDC.LineTo(point);

/*CWindowDC画线*/

CWindowDC cwDC(this);

cwDC.MoveTo(m_cpoint);

cwDC.LineTo(point);

/*画笔画线*/

CPen cpens(PS_SOLID, 10, RGB(100, 100, 0));

CClientDC ccDC(this);

CPen *pOldPen = ccDC.SelectObject(&cpens);

ccDC.MoveTo(m_cpoint);

作者  | 2016-6-10 17:47:13 | 阅读(5) |评论(0) | 阅读全文>>

MFC设置窗口背景为图片

2016-5-20 22:31:50 阅读5 评论0 202016/05 May20

在rc中导入bmp图片,图片ID为IDB_PIC_BITMAP

在OnPaint成员函数中插入代码:

void CMy20160515_3backgroDlg::OnPaint()

{

if (IsIconic())//该窗口是否是最小化的窗口

{

CPaintDC dc(this); // 用于绘制的设备上下文

SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);

// 使图标在工作区矩形中居中

int cxIcon = GetSystemMetrics(SM_CXICON);

int cyIcon = GetSystemMetrics(SM_CYICON);

CRect rect;

GetClientRect(&rect);

int x = (rect.Width() - cxIcon + 1) / 2;

int y = (rect.Height() - cyIcon + 1) / 2;

作者  | 2016-5-20 22:31:50 | 阅读(5) |评论(0) | 阅读全文>>

VS2010下配置OpenCV2.4.10

2016-4-30 20:44:52 阅读15 评论0 302016/04 Apr30

VS2010下配置OpenCV2.4.10

环境:Windows 7 Ultimate X64

OpenCV version:2.4.10

VS version:2010 Ultimate

一、下载OpenCV

目前最近版本的OpencCV是3.10,刚开始下了3.10版本的,却发现include中并无VC10的(3.10版本的只支持VC12、VC14,即VS2013和VS2015),我的电脑里只装了VS2010,所以就只能使用之前的版本了,就下了2.4.10版本的使用。

下载之后,解压到某个盘目录下,这里我选择E盘。

二、设置环境变量

一开始我对设置环境变量很是疑惑,以为是在VS工程文件中用的,后来查了资料才知道OpenCV库函数需要通过用户的环境变量去调用所需要的库文件。

在环境变量设置窗口中按照如下设置:

在这里说明一下,网上查了好几个资料,都说64位系统选择x64的目录,32位系统选择x86的目录,弄得我好一阵迷糊,因为我的系统是64位的,所以一开始我这里选择的是x64目录,稀里糊涂在编译时出现一大堆错误。其实呢,这里选择x86还是x64是无关紧要的,x86表示的是目标程序要编译为32位的,x64则表示目标程序是要编译为64位的,只要和后面的配置一致就行了。

设置完之后,一定要注销用户或者重启机器!!!这样环境变量才会生效。

三、配置VS2010属性

新建一个空的Win32工程项目(新建工程步骤就不列了),打开该项目的属性窗口:

作者  | 2016-4-30 20:44:52 | 阅读(15) |评论(0) | 阅读全文>>

LeetCode题目

2016-4-28 9:56:12 阅读8 评论0 282016/04 Apr28

最近发现了个刷面试题目或者也叫锻炼自己算法编码能力的网站:

https://leetcode.com/problemset/algorithms/

种类很齐全,可以在空闲时间去做做,你可以用C, C++, Java, Python, C#, JavaScript, Ruby, Bash, MySQL这9种语言去写,顺便也收集了解决问题的网站:

http://www.tianmaying.com/tutorials/tag/Leetcode

自己也下了耗子叔的code,以作参考之用,下载地址:http://pan.baidu.com/s/1eRMn3hg

在这里顺便推荐下耗子叔的文章吧:collshell,里面文章在介绍技术的同时又增加你的编程兴趣。

作者  | 2016-4-28 9:56:12 | 阅读(8) |评论(0) | 阅读全文>>

多线程同步方式

2016-4-23 18:36:26 阅读7 评论0 232016/04 Apr23

线程同步是线程之间所具有的一种制约关系,一个线程的执行依赖于另一个线程的消息,当它没有得到另一个线程的消息时应等待,直到消息到达时才被唤醒。

线程互斥是对于共享的进程系统资源,在各单个线程访问时的排他性。当有若干个线程都要访问某一共享资源时,任何时刻最多只允许一个线程去访问,其他的线程必须要等待,直到释放资源。

临界区,当多个线程访问一个独占性共享资源时,就可以使用临界区对象,在临界区内的线程可以访问被保护起来的资源或代码,其他线程若要访问,则被挂起,直到临界区的线程放弃临界区为止。可以实现线程互斥,不能实现线程同步。事件,事件允许一个线程处理完一个任务后,主动去唤醒另外一个线程执行任务。每个事件对象都有有信号状态和无信号状态两种状态互斥量,它和临界区相似,只有加了互斥的对象才具有访问资源的权限,但是比临界区复杂,因为互斥不仅仅能在同一进程的不同线程之间,而且可以在不同进程的各个线程之间来实现对资源的安全共享。信号量,信号量允许多个线程访问共享资源,但是指出了同时访问的最大数目。可以用计数器来统计访问量,有线程访问,则可用资源数减1,有线程释放(可以被任何一个线程释放),则加1,若为0了,则发信号量信号。

作者  | 2016-4-23 18:36:26 | 阅读(7) |评论(0) | 阅读全文>>

LOG4CPP在项目中的简单封装

2015-6-22 22:37:55 阅读43 评论0 222015/06 June22

/*LOG4CPP.h*/

#ifndef LOG4CPP_H_

#define LOG4CPP_H_

#include <string>

#include <log4cpp/Category.hh>

#include <log4cpp/FileAppender.hh>

#include <log4cpp/Priority.hh>

#include <log4cpp/PatternLayout.hh>

namespace Log

{

/**

* 初始化

* @param  wszLogFilePath 输出文件路径

* @param  r              保留参数

* @return                true/false

*/

bool init(const wchar_t* wszLogFilePath, int r);

/**

* 打印INFO日志

* @param wszIn 输入的日志字符串

* @return true/false

*/

bool Info(const wchar_t* wszIn);

bool Info(const std::wstring &wstrIn);

/**

* 打印ERROR日志

作者  | 2015-6-22 22:37:55 | 阅读(43) |评论(0) | 阅读全文>>

一个使用CryptoAPI的小demo

2015-5-28 18:42:30 阅读34 评论0 282015/05 May28

#include <stdio.h>

#include <stdlib.h>

#include <Windows.h>

#include <WinCrypt.h>

int main()

{

HCRYPTPROV hPro;

HCRYPTKEY hKey;

if(CryptAcquireContext(&hPro, L"testsadada", NULL, PROV_RSA_FULL, 0))

printf("获取句柄成功\n");

else{

if(!CryptAcquireContext(&hPro, L"testsadada", NULL, PROV_RSA_FULL, CRYPT_NEWKEYSET))

printf("创建失败\n");

}

if(CryptGetUserKey(hPro, AT_SIGNATURE, &hKey))/*AT_SIGNATURE表示hKey是签名的密钥对 */

printf("获取密钥成功\n");

printf("%ld\n", hKey);

i

作者  | 2015-5-28 18:42:30 | 阅读(34) |评论(0) | 阅读全文>>

wchar_t *转char *

2015-5-22 23:18:37 阅读33 评论0 222015/05 May22

/*这里提供一个方法*/

bool wchar2char(const wchar_t *wstr,std::string &outStr)

{

if (wstr == NULL)

return false;

int wstrlen = wcslen(wstr);

int templen = WideCharToMultiByte(CP_ACP, 0, wstr, -1, NULL, 0, NULL, NULL);

char *tempstr = new char[templen+1];

WideCharToMultiByte(CP_ACP, 0, wstr, -1,

tempstr, templen, NULL, NULL);

outStr = tempstr;

delete tempstr;

}

下面是WideCharToMultiByte函数的参数含义:

CodePage: 指定要转换成的字符集代码页,可选的值有:

作者  | 2015-5-22 23:18:37 | 阅读(33) |评论(0) | 阅读全文>>

mongoose.h接口介绍

2015-5-15 17:17:07 阅读74 评论0 152015/05 May15

#ifndef MONGOOSE_HEADER_INCLUDED

#define  MONGOOSE_HEADER_INCLUDED

#define MONGOOSE_VERSION "5.6"

#include <stdio.h>      /* required for FILE*/

#include <stddef.h>     /* required for size_t*/

#include <sys/types.h>  /* required for time_t*/

#ifdef __cplusplus

extern "C" {

#endif /* __cplusplus*/

/* This structure contains information about HTTP request.*/

struct mg_connection {

const char *request_method; /* "GET", "POST", etc*/

const char *uri;            /* URL-decoded URI*/

const char *http_version;   /* E.g. "1.0", "1.1"*/

const char *query_s

作者  | 2015-5-15 17:17:07 | 阅读(74) |评论(0) | 阅读全文>>

查看所有日志>>

 
 
 
 
 
 我要留言
 
 
 
留言列表加载中...
 
 
 
 
 

发现好博客

 
 
列表加载中...
 
 
 
 
 
 
 
博友列表加载中...
 
 
 
 
 

天气

 
 
模块内容加载中...
 
 
 
 
 
 
 
列表加载中...
 
 
 
 
 
 
 
心情随笔列表加载中...
 
 
 
 
 

标签

 
 
数据加载中...
 
 
 
 
 
 
 

北京市 海淀区 摩羯座

 发消息  写留言

 
QQ826457306
博客等级加载中...
今日访问加载中...
总访问量加载中...
最后登录加载中...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016

GACHA-他是传说中第一代男神

二次元同好交流新大陆

扫码下载App

注册 登录  
 加关注