- 博客(54)
- 资源 (6)
- 收藏
- 关注
转载 如何学习操作系统?——整理篇,非个人感悟
(下面的文字还为整理)本来是想在留言里面回simohayha的,结果越写越多,改成博客算了,也许对别人也有帮助。没什么中心思想,大家胡乱看看。 我在读大学的时候是努力试图学习过linux源码的,在机房里打印出厚厚一叠纸,闷在计算机旁边猛看了好几天,饭也没好好吃,那些纸的质量不太好,有股怪味,空着肚子钻研,到后来闻那股味道,差点呕吐,于是放弃,出去大吃了一顿。 这是上世纪末的
2013-08-30 11:01:00 1497
原创 单链表带头结点&不带头结点
Node *head; //声明头结点带头结点初始化void InitList(Node **head){ *head=(Node *)malloc( sizeof(Node)); (*head)->next=NULL;}带头结点尾插入,统一操作方式一:void CreatList(Node
2013-08-30 10:14:01 1252
转载 单链表的逆置-C++实现
对于单链表的逆置有两种方法可以实现:(1)利用辅助指针 基本思想:在遍历结点过程中,设置辅助指针,用于记录先前遍历的结点。这样依次编译的过程中只需修改其后继结点的next域即可。 实现代码:[cpp] view plaincopyprint?typedef int DataType; /
2013-08-29 22:00:50 1210
转载 9个offer,12家公司,35场面试,从微软到谷歌,应届计算机毕业生的2012求职之路
-------------------------------------------------------------------------------------------------------------------------------------原文作者真是牛的一逼啊,第一次看求职经历感觉像看传奇小说一样!~看完打了鸡血状--------------------
2013-08-29 20:03:26 3822
原创 冒泡排序的多种写法
一、void BubbleSort(int[] array){ int length = array.Length; for (int i = 0; i <= length - 1; i++) { for (int j = length - 1; j > i; j--) { if (array[j] < arra
2013-08-29 11:27:43 4171
转载 程序员求职攻略(《程序员面试笔试宝典》)
21世纪的前10年是IT技术迅速发展的10年,嵌入式技术、互联网技术等蓬勃发展,程序员,尤其是高级程序员可观的薪水以及程序员巨大的发展潜力使得越来越多的人选择了程序员作为未来的职业。同时,由于计算机技术自身博大精深,涉及的知识面很广,企业在给程序员开出高薪的同时,对他们的专业素养也提出了非常高的要求。每年九月份开始,各大IT企业开始招兵买马,招贤纳士,无数具有计算机专业背景的学生都希望在招聘季能够
2013-08-28 16:21:18 1862
转载 二叉排序树的删除
(网上讲二叉排序树删除的资料很少,这篇很不错!)二叉排序树的删除: 对于一般的二叉树来说,删去树中的一个结点是没有意义的,因为它将使以被删除的结点为根的子树变成森林,破坏了整棵树的结构但是,对于二叉排序树,删去树上的一个结点相当于删去有序序列中的一个记录,只要在删除某个结点后不改变二叉排序树的特性即可。 在二叉排序树上删除一个结点的算法如下:btree *
2013-08-23 19:05:34 27670 4
转载 MFC中release版本和debug版本区别
最近MFC写了个程序,生成release版,原来正常,后来删掉了些控件再编译运行,结果竟然报内存读写错误,debug却是正常的。后来将“Project Settings” 中 “C++/C ” 项目下优化选项改为Disbale(Debug),就又能正常运行了。DEBUG和RELEASE 版本差异及调试相关问题【转】
2013-08-22 23:02:31 1359
转载 拓扑排序
(好文章就是要分享!原文:http://www.cnblogs.com/shanyou/archive/2006/11/16/562861.html)拓扑排序算法: 对于一条有向边(u,v),定义u 有向图的拓扑序列的算法。一个有向图顶点的拓扑序列不是惟一的。并不是任何有向图的顶点都可以排成拓扑序列,有环图是不能排的。例子:比如排课问题,比如士兵排队问题等。
2013-08-22 22:40:10 1276
转载 最短路径之Floyd算法
(本文讲解思路清晰,分析透彻,不得不看呐!)正如我们所知道的,Floyd算法用于求最短路径。Floyd算法可以说是Warshall算法的扩展,三个for循环就可以解决问题,所以它的时间复杂度为O(n^3)。Floyd算法的基本思想如下:从任意节点A到任意节点B的最短路径不外乎2种可能,1是直接从A到B,2是从A经过若干个节点X到B。所以,我们假设Dis(AB)为节点A到节点B的最短
2013-08-22 22:03:49 1112
原创 最短路径之Dijkstra算法
Dijstra算法的基础操作是边的拓展:如果存在一条从u到v的边,那么从s到u的最短路径可以通过将边(u,v)添加到尾部来拓展一条从s到v的路径。这条路径的长度是d[u]+w(u,v)。如果这个值比目前已知的d[v]的值要小,我们可以用新值来替代当前d[v]中的值。拓展边的操作一直执行到所有的d[v]都代表从s到v最短路径的花费。这个算法经过组织因而当d[u]达到它最终的值的时候没条边(u,v)都
2013-08-22 21:34:57 1649
原创 MFC中变量的命名方法
MFC命名规则匈牙利命名法关键是:标识符的名字以一个或者多个小写字母开头作为前缀;前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量的用途。前缀类型a数组 (Array)b布尔值 (Boolean)by字节 (Byte) == 8 bit
2013-08-22 16:08:38 8164 1
原创 怎样在VS2010中打开VS2012的项目
VS2012中对C#的支持度非常好,不管是编写方便程度(不需要插件就能高亮代码及代码自动提示功能),还对MFC的一些功能优化很多。 我们可以修改两个工程文件来把VS2012的工程文件一直到VS2010中去。 首先当然是修改解决方案文件(.sln文件)。 使用记事本打开,把里面的Microsoft Visual Studio Solution File, Forma
2013-08-22 15:34:08 1439
原创 优秀程序员的感悟
http://www.csdn.net/article/2013-08-21/2816646CSDN:你在系列文章最后分享了9点心得体会,总结当时到现在的这段时光,是否有新的感悟分享?张龙:我现在依然在坚守着这些体会:1. 基础的重要性。我总是不断强调基础的重要性,因为我是有切身体会的。基础的东西可以让你受用一生。struts出来了,webwork出来,tapest
2013-08-21 20:31:17 1358
转载 白话经典算法系列之七 堆与堆排序
堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先讲解下什么是数据结构中的二叉堆。二叉堆的定义二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。2.每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。当父结点的键值总
2013-08-21 17:37:57 1171
原创 哈夫曼树
哈夫曼树定义为:给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman tree)。1、那么什么是权值?什么是路径长度?什么是带权路径长度呢?权值:哈夫曼树的权值是自己定义的,他的物理意义表示数据出现的次数、频率。可以用树的每个结点数据域data存放一个特定的数表示它的值。路径长度:在一棵树中,从一个结点往下
2013-08-21 16:58:01 4398
原创 MFC中的MVC及两者之间的关系
可以先看一个帖子:http://bbs.csdn.net/topics/80104688关于MVC结构模式无须多言,如下图所示:在MFC中实现经典的MVC结构,如下图所示:注意:1、Document和View之间的绑定:View绑定到Document。2、Frame作为Controller时,由于可以接收到输入消息,比较适合充当控制器。但
2013-08-21 15:45:08 12974 1
原创 谈谈MVC模式
1.如何设计一个程序的结构,这是一门专门的学问,叫做"架构模式"(architectural pattern),属于编程的方法论。MVC模式就是架构模式的一种,它对我的启发特别大。我觉得它不仅适用于开发软件,也适用于其他广泛的设计和组织工作。下面是我对MVC模式的一些个人理解,不一定正确,主要用来整理思路。2.MVC是三个单词的首字母缩写,它们是Model(
2013-08-21 15:23:47 1380
转载 MFC下测量程序执行时间
LARGE_INTEGER litmp; LONGLONG QPart1,QPart2; double dfMinus, dfFreq, dfTim; QueryPerformanceFrequency(&litmp); //获得计数器的时钟频率 dfFreq = (double)litmp.QuadPart; QueryPerf
2013-08-20 22:09:16 1534
转载 如何学习C++(C++书籍阶梯式推荐)
个人网摘,觉得写得很有道理。值得推荐,献给大家。 第一篇一些同学问我,如何学好C++,我没有别的办法给你们,唯一的办法就是读书,读大量的书,就可以解决。要把C++作为日常语言,而不是一种程序语言,这样就好办了。有人又要问我,那么我应该读什么书才好?没有时间怎么办?我只能对你们说,没时间的话,就别学C++了,做你们喜欢做的事。生活中没有C++,也同样美
2013-08-13 17:02:12 1908
原创 MFC对话框及窗口函数调用顺序
1、模式对话框的创建过程: 1) DoModal() 重载函数,重载DoModal()成员函数。 2) PreSubclassWindow() 重载函数,允许首先子分类一个窗口。 3) OnCreate() 消息响应函数,响应WM_CREATE消息,发送此消息以告诉一个窗口已经被创建。 4) OnSi
2013-08-13 16:55:24 1592
原创 招聘要求
虾米音乐的招聘:推荐系统算法工程师工作地点:杭州工作性质:全职职位描述:负责音乐推荐系统的设计和开发。职位要求:1、精通或熟悉C++,熟悉linux上C++开发的编程方法和工具;2、熟悉面向对象,STL,boost等C++语言层面的技术;3、精通或熟悉多线程编程;4、精通或熟悉数据库编程;5、精通或熟悉人工智能算法;6、精通或熟悉大并发量在线服务器架构;7、
2013-08-13 10:25:40 1493
原创 MFC Button按钮的用法
设置按钮为可见或不可见:GetDlgItem(IDC_CHECK1)->ShowWindow(SW_SHOW);GetDlgItem(IDC_CHECK1)->ShowWindow(SW_HIDE);设置按钮为可用或不可用:先声明Button变量,然后,m_ButtonPreview.EnableWindow(TRUE);m_ButtonSave.EnableWindow(
2013-08-12 22:48:09 1896
原创 内存对齐 alignment
结构体的内存布局依赖于CPU、操作系统、编译器及编译时的对齐选项。结构体内部成员的对齐要求,结构体本身的对齐要求。最重要的有三点(一)成员对齐。对于结构体内部成员,通常会有这样的规定:各成员变量存放的起始地址相对于结构的起始地址的偏移量必须为该变量的类型所占用的字节数的倍数。但是也可以看到,有时候某些字段如果严格按照大小紧密排列,根本无法达到这样的目的,因此有时候必须进行padding。各成员
2013-08-11 16:44:30 1220
转载 MFC中的消息响应(左键按下鼠标)和(移动鼠标)
p.s. 以下两种方法一起使用的时候,运行起来有错误哇~1. 左键按下鼠标:右键view类,添加消息句柄,WM_LBUTTONDOWN,添加并编辑,加入代码,可以实现在矩形区域内点击鼠标左键,弹出确认框的功能: int x=point.x; int y=point.y; if(x>=0&&x=0&&y
2013-08-09 21:02:28 14541
原创 LoadCursor LoadImage
1: 修改方法一 重载CView里的OnMouseMove函数 . 重载方法 : “View” -> “ClassWizard” (Ctrl + W) -> 右侧Messages栏选择”WM_MOUSEMOVE” , 然后点”Add Function” , 点”OK” . 添加代码 : 在 CDocTestView::O
2013-08-09 20:51:56 3438
原创 MFC判断鼠标光标在某个矩形框内
POINT point;GetCursorPos(&point); if(rc.PtInRect(point)) { /*要进行的操作*/}
2013-08-09 20:45:37 4876
原创 ClientToScreen 和ScreenToClient 用法
ClientToScreen( )是把窗口坐标转换为屏幕坐标ScreenToClient( )是把屏幕坐标转换为窗口坐标屏幕坐标是相对于屏幕左上角的,而窗口坐标是相对于窗口用户区左上角的VC下,有些函数使用窗口坐标,有些使用屏幕坐标,使用时要分清。一个窗体分为两部分:系统区和客户区象标题和菜单之类的是系统区,由系统来控制,客户区就是你的地盘喽!!!Width, He
2013-08-09 20:39:24 2729
转载 MFC鼠标响应、鼠标画线
鼠标响应关键就是对两个函数进行操作:OnLButtonDown和OnLButtonUp;1、使用MFC AppWizard(exe)建立一个单文档MFC工程2、首先要在CxxxView类的定义里加上后续必备的数据成员class CDrawView : public CView{。。。。。。。。。。。。private: CPoint m_ptOrigi
2013-08-09 18:13:01 11327 1
转载 windows编程经典书籍
本人是刚刚开始学习windows编程的,感觉看雪学院的大牛很NB.想找一些书籍来看学习学习,可是不知道看哪些书好.驱动,对菜鸟们来说真是一个很深奥的话题,所以 ,我找来了这篇文章供大家分享,以后大家发现什么好书就在楼下跟贴吧! 作者:Harry Meng 来源:互联网.也许我的阅读面过于狭小,书架里基本上都是Jeffrey Richter,Charles Petzold,侯捷老师以及潘
2013-08-09 15:29:01 1460
转载 CString转换成const char*的一种有效方法
在Visual Studio 200X下,CString直接转换成const char* 有点困难,下面是自己用的一种可行方案://得到目录路径CString mPath=dlg.GetPathName();//将目录路径转换成绝对路径以便cvLoadImage调用int m=mPath.GetLength();for(int index=0;index{
2013-08-08 22:32:12 2349
转载 VC中关于创建一个新的线程的方法
CreateThread, AfxBeginThread,_beginthread, _beginthreadex的区别转自:http://www.cnblogs.com/chuncn/archive/2009/03/08/1406096.htmlCreateThread是Windows的API函数(SDK函数的标准形式,直截了当的创建方式,任何场合都可以使用),提供操作系统级
2013-08-08 20:40:07 2371
转载 封装CopyFileEx函数,实现文件复制中的暂停,控速,获取进度
封装CopyFileEx函数,实现文件复制中的暂停,控速,获取进度等。我的第一篇博客前段时间无意间想到如何控制文件复制过程的复制速度,并且能实时获得复制进度。对于一个几兆甚至更小的文件,调用API函数CopyFile(Ex)来复制,很快就能完成的。然而对于一个几百兆的大文件来说,如果仍然采用调用同步CopyFileEx,那么函数将阻塞相当长的时间。并且对于大文件我更希望能知
2013-08-08 20:11:43 4216 1
原创 C++中BOOL和bool的区别
一:大BOOL和小bool之间的区别:1、类型不同BOOL为int型bool为布尔型2、长度不同bool只有一个字节BOOL长度视实际环境来定,一般可认为是4个字节3、取值不同bool取值false和true,是0和1的区别BOOL取值FALSE和TRUE,是0和非0的区别4、例子bool x=3;
2013-08-08 14:45:33 1495
转载 MFC 删除一个非空文件夹 新建文件夹
最近在看MFC 的文件操作,从网上淘了一本比较讲MFC文件操作比较全的电子书,然后开始试手。在删除文件夹时,遇到了问题,通过查看MSDN和网友的论坛留言,自己总算是解决了这个问题,现在与大家共享。 MFC中提供了删除文件夹的一个封装函数 RemoveDirectory(LPCTSTR lpPathName),我们只要把要删除的文件夹的路径传进去就可以删除了,貌似一切如此
2013-08-07 22:39:26 4164
转载 MFC利用CFileFind 类实现文件夹的复制
实现文件复制过程时,一个问题i是我纠结了许久,CFileFind 类的成员函数 GetFilePath()与GetFileName(),其实很好理解的两个函数,一个是获得文件的路径,一个是获得文件的名字。但我却在理解上犯了一个错误,就是文件路径究竟包不包含文件名字,如有文件C:/Test/1.txt ,那么它的路径和名称分别是什么?我理解成了,路径:C:/Test 名称1.txt ,我按照我的理解
2013-08-07 22:38:23 6769 1
原创 MFC浏览文件夹,浏览保存文件, 获取当前路径
浏览文件夹,其实用的是Shell里的API[cpp] view plaincopyvoid OnXXXBrowse() { CString strFolderPath; BROWSEINFO broInfo = {0}; TCHAR szDisName[MAX_PATH] =
2013-08-07 22:17:37 1536
原创 浅拷贝、深拷贝 Bitwise Copy和Memberwise Copy
http://www.vckbase.com/index.php/blog/view/id/32******************************************************************************************************************************************大家
2013-08-07 13:33:50 4045 2
原创 MFC的回调函数
MFC中应该有两类回调函数:一类是源自C的传统回调函数,此类回调函数若非定义为全局函数,而定义在类中的话,要添加static约束,常见的有EnumXXX();一类是消息响应函数,通过成员函数指针实现回调。 设想一种情况,基类A触发某事件E后,回调某定义好的函数F进行事件处理(MFC中表现为消息响应函数)。继承于类A的子类B和C,可能对于E有不同的处理方式,于是需要对基类A的函数F进
2013-08-05 19:14:17 9758
原创 卷标结构(tag struct) && 结构与联集
结 构 (Structure) 通常一个简单之变量或数组不足以用来储存复杂之记录。C语言中有结构体之架构,允许使用者宣告数据实体将不同形式之元素储存一起。事实上,结构是一种是一种由使用者自订之数据型态。 在C语言中,结构的宣告方式如下 : struct 结构名称卷标 { 数据型态 数据变量元素1;
2013-08-05 12:04:39 1319
MFC多线程开发例程源码4
2013-11-19
MFC多线程开发例程源码3
2013-11-19
MFC多线程开发例程源码2
2013-11-19
MFC多线程开发例程源码1
2013-11-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人