![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
开发技术
文章平均质量分 55
leaf6094189
我坚持要走程序员这条道。
展开
-
Ubuntu下的中文输入法
<br />怕下次再装Ubuntu系统的时候找不到资源,所以把这几个对Ubuntu中文输入法设置有用的网址收揽于此:<br />http://apps.hi.baidu.com/share/detail/13956273<br />http://zhidao.baidu.com/question/155198801.html原创 2010-11-08 13:25:00 · 465 阅读 · 0 评论 -
当今世界最受人们重视的十大经典算法
<br />当今世界最受人们重视的十大经典算法<br />作者:July、二零一一年三月七日。<br />声明:有一点,希望读者明白,<br />以下票选出来的十大算法不等同于,也绝非就是当今世界最为经典的十大算法。<br />--------------------------<br /> 当今世界,已经被发现或创造的经典算法数不胜数。如果,一定要投票选出你最看重的十大算法,你会作何选择列?<br /> 最近,有人在StackExchange上发起了提问,向网友们征集当今世界最为经典的十大算法转载 2011-03-09 17:17:00 · 881 阅读 · 0 评论 -
MFC调整屏幕分辨率
MFC编辑的界面是按照一定的分辨率编辑的,当窗口大小改变时,控制栏对话框的大小固定。当屏幕分辨率小于界面编辑的分辨率时,一部分控制栏对话框不可见。一种方法是缩小所有基于此对话框的控件,包括字体。控件缩小用CalcDynamicLayout();字体缩小时,我在实现的时候,字体会变粗。另一种方法是更改屏幕的分辨率。原创 2011-03-09 15:18:00 · 7091 阅读 · 0 评论 -
软件工程——架构
<br />今天在看代码,突然领悟出来的一点头绪。赶忙记录下来。<br />我们在做软件产品的时候,怎样去设计整个框架。这是一件非常费精力的事情。设计框架的目标是:模块化,少耦合。<br />今天获得的思想是:尽量从逻辑上来考虑,而尽量少从技术,代码本身考虑框架。<br /> <br />原创 2011-02-23 11:18:00 · 689 阅读 · 0 评论 -
在动态链接库中使用资源
<br />开发程序的时候碰到在动态库DLL创建对话框的问题。然后找资料,看到这篇文章很好。转载在此:<br />来自:http://marblezy.blog.163.com/blog/static/5049425320071114112342982/<br /> 1.Win32 DLL 在Win32 DLL中使用对话框很简单,你只需要在你的DLL中添加对话框资源,而且可以在对话框上面设置你所需要的控件。然后使用DialogBox或者CreateDialog这两个函数(或相同作用的其它函数)来创建对话框,转载 2011-03-28 16:38:00 · 712 阅读 · 0 评论 -
十大开发代码原则---个人觉得很好
<br />本原则是本人结合项目的实施开发编写代码情况,对多年以来带领项目实施奋战在开发一线经验的提炼与概括。这十条开发指导原则,最基本的思想是“高效,高质量的写出满足业务功能目标的代码。”每人可以结合当前项目的实际情况应用,可以补充,修订删改进一步总结提炼。<br />1.先开发简单明确的功能模块,后开发复杂的功能模块。<br />2.先做简单的子功能,再做稍微复杂的子功能,后开发有难度逻辑复杂的子功能。<br />3.以满足业务功能要求为主要目标,不保留无用的垃圾代码。写出高质量满足功能要求的代码,是建转载 2011-03-24 20:35:00 · 494 阅读 · 0 评论 -
辗转相除法求最大公约数(C语言)
<br />用辗转相除法求最大公约数 <br />算法描述: <br />m对n求余为a, 若a不等于0 <br />则 m <- n, n <- a, 继续求余 <br />否则 n 为最大公约数 <br /><2> 最小公倍数 = 两个数的积 / 最大公约数 <br /><br />#include <br />int main() <br />{ <br />int m, n; <br />int m_cup, n_cup, res; /*被除数, 除数, 余数*/ <br />printf("Ent原创 2011-05-25 10:20:00 · 28009 阅读 · 0 评论 -
mfc消息处理顺序
MFC中处理消息的顺序1. AfxWndProc()接收消息,寻找消息所属的CWnd对象,然后调用AfxCallWndProc( )。2. AfxCallWndProc()存储消息(消息标识符和消息参数)供未来参考,然后调用WindowProc( )。3. WindowProc()发送消息给OnWndMsg( ),如果消息未被处理,则发送给DefWindowproc( )。4. OnWndMsg()首先按字节对消息进行排序,对于WM_COMMAND消息,调用OnCommand转载 2011-05-26 13:04:00 · 1078 阅读 · 0 评论 -
DLL动态库设置断点,出错:The breakpoint will not currently be hit. No symbols have been loaded for this document
今天调试了一个下午,终于把这个问题解决了、原创 2011-04-13 16:26:00 · 6105 阅读 · 1 评论 -
C++ 函数的默认值
我们可以赋予函数参数默认值。所谓默认值就是在调用时,可以不写某些参数的值,编译器会自动把默认值传递给调用语句中。关于默认值要注意几点:1.我们通常是将默认值的设置放在声明中而不是定义中。2.不能将实际值传递给引用类型的参数。可以将变量作引用类型参数的默认值,这时变量必须是已经声明且是全局变量。声明函数时,要将类或结构中定义 的静态成员变量作为默认值,若该类或结构还未创建实例,那要在转载 2011-06-23 10:50:00 · 1108 阅读 · 0 评论 -
MFC修改视图CView的背景颜色
<br />(1) 在CYournameView(就是你的视图类,以下以CDrawLineView为例)添加了一个背景颜色变量<br />COLORREF m_bgcolor;<br />(2)修改这个函数:<br />BOOL CDrawLineView::PreCreateWindow(CREATESTRUCT& cs)<br />{<br />// TODO: Modify the Window class or styles here by modifying<br />// the CREATES转载 2011-02-16 10:56:00 · 9988 阅读 · 0 评论 -
更改CDialogBar尺寸大小
<br />这篇文章真正解决了我的这个问题<br /> <br />文章来自:<br />http://hackdiy.com/I-17888169.html<br /> <br /> <br />The information in this article applies to: <br /> <br /> The Microsoft Foundation Classes (MFC), used with: <br /> Microsof转载 2011-03-04 11:41:00 · 1854 阅读 · 0 评论 -
遍历对话框中所有的控件
<br />对话框缩放之后,要重画。所以得遍历所有的控件。<br />void CSimParDlg::OnButton1() <br />{<br />// TODO: Add your control notification handler code here<br />CWnd *pWnd; <br /><br />pWnd=GetWindow(GW_CHILD); <br />while (pWnd!=NULL) <br />{ <br /> if (pWnd-> IsKindOf(R转载 2011-03-04 16:48:00 · 4073 阅读 · 0 评论 -
qte2读取中文文件的测试.txt
Qt编程,中文的显示及中文文件的读取转载 2010-11-10 09:25:00 · 771 阅读 · 0 评论 -
Dijkstra 算法
Dijkstra 算法,又叫迪科斯彻算法(Dijkstra),是由荷兰计算机科学家艾兹格·迪科斯彻(Edsger Wybe Dijkstra)发明的。算法解决的是有向图中单个源点到其他顶点的最短路径问题。举例来说,如果图中的顶点表示城市,而边上的权重表示著城市间开车行经的距离,迪科斯彻算法可以用来找到两个城市之间的最短路径。Dijkstra 算法在算法导论一书中的第24章 单源最短路径第24.3小节。由此可知,此算法是为解决有向图G=(V,E)上带权的单源最短路径问转载 2011-01-04 22:01:00 · 1346 阅读 · 0 评论 -
用GHOST备份ubuntu系统
<br />由于在折腾ubuntu系统过程中经常出错(有一次由于更改分辨率导致黑屏,折腾了大半夜才修复好),于是特想能够找到一种简便有效的备份方法。<br /><br />上网一搜,老鸟们都说用tar备份。搜到了命令,复制下来,往终端上一贴,能进行,可是结尾时总出错。几个版本的命令都不行。经研究和上网搜索,搞明白这命令在纯文本(纯命令)下才行,桌面下根本不行(估计那些网上的tar备份者也是人云亦云,自己根本没试过)。<br /><br />Ctrl+Alt+F2进入纯命令界面,一片漆黑的背景上几个字母,根本转载 2010-11-15 13:43:00 · 27530 阅读 · 4 评论 -
MFC动态创建菜单
<br />创建一个基于对话框的工程,工程名为CreateMenu<br />为该对话框增加一个文件菜单项和测试菜单项,如下图所示<br /><br />测试菜单项至少要有一个子菜单项<br />在对话框属性中关联该菜单<br />在resource.h中增加一个ID_TESTMENU宏<br />#define ID_TESTMENU 5000<br /> <br />在对话框中添加一个Button按钮,建立消息映射,编辑代码如下void CCreateMenuDlg::OnButton原创 2011-01-17 20:00:00 · 2364 阅读 · 1 评论 -
普通用户下执行inb(),out()函数
Linux读写端口的函数inb(),outb(),这两个函数的读写还需要用ioperm()来获取IO的权限。这几个端口操作的的函数需要root的权限。现在程序中含有inb()....端口读写的函数,但是程序在双击打开下,是普通用户的权限。如果用命令sudo来切换到root用户的话,这样的操作对软件的用户来讲是不可取的。原创 2010-11-23 16:25:00 · 2040 阅读 · 0 评论 -
如何在对话框中使用UPDATE_COMMAND_UI机制?
UPDATE_COMMAND_UI机制对于动态的把 通过检查 或通过激活或失效 菜单命令和工具栏按钮 而发生变化的应用程序的状态 反馈给用户是非常重要的。不幸的是,ClassWizard并不支持直接为对话框加入UPDATE_COMMAND_UI句柄,然而通过努力还是能够利用UPDATE_COMMAND_UI机制来动态的更新对话框的。转载 2010-11-26 18:07:00 · 1011 阅读 · 0 评论 -
PostMessage和SendMessage区别
PostMessage和SendMessage经常用到,所以就转了这篇帖子转载 2011-02-25 08:51:00 · 644 阅读 · 0 评论 -
工具栏图标背景透明化
<br />用了一天时间,终于把这个问题解决了。结果是那么的简单。终结原因,还是对MFC不够熟。<br />我对工具栏图标是这样实现的:<br />将BMP位图添加到CImageList,然后用ToolBarCtrl.SetImageList(&m_imageList);<br />工具栏图标透明化的关键代码语句:<br />m_imageList.Create(32,32,ILC_COLOR32|ILC_MASK,0,0);<br />m_imageList.Add(&bmp,RGB(0,0XFF,0))原创 2011-03-01 16:30:00 · 6831 阅读 · 0 评论 -
学习XML
<br />今天看了XML的东东,这第一条就是怎样和HTML区分开来。<br />首先自己的理解是这样的:<br />HTML语言的标记都是<tr>、<td>这些,来表示数据的显示的。解析器并不能根据这些标签来知道数据的内容。HTML注重的是数据的布局<br />而XML就是为了弥补HTML语言的缺陷而出现。在XML中,只注重内容。它的标签可以自由定义。原创 2011-03-02 14:40:00 · 494 阅读 · 0 评论 -
VS2008 断点无效
经常被vs2005的一些选项设置搞惨,这玩意儿太莫名其妙了. 就像上次的那个warning一样,解决办法居然是使用/n替换/n. VS2005断点失效(断点不可用)解决方案在网上搜罗了一下,如下: 1、无效断点所在的项目和启动项目的设置:项目->属性->配置属性->C/C++->常规->调试信息格式,这里不能为『禁用』; 2、项目->属性->配置属性->链接器->调试->生成调试信息,这里原创 2011-06-26 14:11:00 · 1658 阅读 · 0 评论 -
软件架构设计
好的开始相当于成功一半 开始之初的架构设计决定着软件产品的生死存亡。“好的开始相当于成功一半”。 开始的架构设计也是最难的,需要调研同类产品的情况以及技术特征,了解当前世界上对这种产品所能提供的理论支持和技术平台支持。再结合自己项目的特点(需要透彻的系统分析),才能逐步形成自己项目的架构蓝图。 比如要开发网站引擎系统,就从Yahoo的个人主页生成工具 到虚拟主机商提供的网站自动生成系统转载 2011-06-28 17:06:00 · 601 阅读 · 0 评论 -
VC++ 常见调试错误:fatal error LNK1561: entry point must be defined
<br />今天在对软件进行整合时,碰到一个连接错误“fatal error LNK1561: entry point must be defined”,查了很多资料都没能够解决,最终查到是连接命令中的/subsystem不正确,改为/subsystem:windows后一切正常,在Project Properties->Linker->System中设置。特此写下随笔一篇,加深自己的印象。转载 2011-05-06 11:34:00 · 15007 阅读 · 2 评论 -
文档类,视图类,框架类,应用程序类句柄获取
VC中常用的文档类,视图类,框架类,应用程序类,自定义类中获取其它四个类的 方法 A: GET App AfxGetInstanceHandle() AfxGetApp() GET Frame->View->Document SDI AfxGetMainWnd() -> GetActiveView() -> GetDocument()转载 2012-01-09 13:34:30 · 552 阅读 · 0 评论 -
字符串递增/递减的处理
调试了好久,终于出来了。把自己的成果保存下来INT strLength = string.GetLength(); INT num = 0; INT INTnum = 0; for (INT i=0; i { TCHAR cTmp = string.GetAt(i); if(cTmp>47 && cTmp num = (num*10)+atoi(&cTmp)原创 2012-01-09 15:34:16 · 869 阅读 · 0 评论 -
加载DLL
一.静态加载:1,可以在Visual Studio 的工程属性中配置2,把要调用函数message的声明和下面的语句写到一个头文件中 #pragma comment(lib, "a.lib") 然后你的对话框.cpp中包含这个头文件就可以使用message函数了。 二.动态加载:如果dll没有对应的.lib文件,那么就只能使用动态加载的方式了。动态调用动态库步骤:1、原创 2012-03-20 15:12:45 · 421 阅读 · 0 评论 -
CListCtrl使用技巧
CListCtrl使用技巧以下未经说明,listctrl默认view 风格为report1. CListCtrl 风格 LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标 LVS_LIST: 显示一列带有小图标的item LVS_REPORT: 显示item详细资料转载 2012-03-20 23:31:23 · 336 阅读 · 0 评论 -
CListCtrl应用介绍
1。先来介绍REPORT类型的CListCtrl:首先使用下面的语句设置CListCtrl的style:DWORD SetExtendedStyle( DWORD dwNewStyle );其中LVS_EX_CHECKBOXES 表示添加CheckBoxLVS_EX_FULLROWSELECT 表示选择整行LVS_EX_GRIDLINES 表示添加表格线如果设置了LVS转载 2012-03-20 23:32:59 · 600 阅读 · 0 评论 -
排序算法之插入排序
排序算法之插入排序 罗朝辉(http://www.cppblog.com/kesalin)转载请注明出处排序是数据处理中经常使用的一种重要运算,在计算机及其应用系统中,花费在排序上的时间在系统运行时间中占有很大比重,其重要性无需多言。下文将介绍常用的如下排序方法,对它们进行简单的分析和比较,并提供 C/C++ 语言实现。所谓排序,就是要将一堆记录,使之按转载 2012-02-09 23:48:25 · 476 阅读 · 0 评论 -
Visual C++ 2010 IntelliSense and browsing information is not available
Visual Studio 2010 Class View and Resource View is empty, can't see anything?I found something that may help. I've been having the same problem on XP 32 bit. I was trying to fix some SQL version con转载 2012-03-21 12:17:26 · 1083 阅读 · 0 评论 -
创业者难博“天使”一笑 九成项目谈不到5分钟
“你们是天使,怎么可以这么挑剔呢?”在与中国最著名的一群天使投资人对话后,一名创业者如是说。 在这场“天使”与创业项目的见面会上,来了近10位天使投资人,薛蛮子、李开复、何伯权、曾李青……全都鼎鼎有名。来自于全国各地的创业者有100多人,排成了长队。场面虽然异常火爆,但绝大多数项目谈不到5分钟,即被这些天使投资人打发走人。 被打发走人的一个主要原因,就是光有想法和目标,却没有具体的方法转载 2012-05-09 09:38:06 · 2093 阅读 · 0 评论 -
.sln .suo .ncb文件,及解决MFC类向导添加类或详细响应报错的问题
.sln 和 .suo都是是解决方案文件。 .sln(Visual Studio.Solution):它通过为环境提供对项目、项目项和解决方案项在磁盘上位置的引用,可将它们组织到解决方案中。包含了较为通用的信息,包括解决方案所包含项目的列表,解决方案内任何项的位置以及解决方案的生成配置。比如是生成Debug模式,还是Release模式,是通用CPU还是专用的等。此文件存储在转载 2013-04-11 12:18:34 · 1831 阅读 · 0 评论 -
DLL动态库中调用MFC资源
今天调试了半天,终于把这个问题解决了,项目进展向前推进了一步。总结:exe应用程序调用DLL动态库,而DLL库中又包含有MFC资源文件。那么DLL工程属性中USE OF MFC项,必须设置为“Use MFC in a share Dll”.原创 2012-01-06 23:22:28 · 782 阅读 · 0 评论 -
vs2010 msdn help library文档位置、错误、重新安装及安装注意事项
一、安装光盘自带MSDN Library文档 在Visual Studio 2010安装光盘中其实已配上MSDN Help Library文档,只需使用启动VS2010“帮助”中的“管理帮助设置”程序,选择“从磁盘安装内容”,找到安装光盘的ProductDocumentation文件夹下的HelpContentSetup.msha文件,安装即可。二、自定义MSDN Help Libr转载 2011-11-22 11:27:33 · 7567 阅读 · 3 评论 -
状态栏添加进度条
读者朋友们可能天天使用Visual C++这个强大的工具来开发应用程序,不知道注意到没有,Visual C++每次装载一个项目的时候,为了使项目加载过程不至于太单调,会在状态栏的左半部分会出现一个装载进度条,用来即时显示Visual C++装载项目的进度,当项目装载完毕后,进度条隐藏。那么这个功能是如何实现的呢?为了说明该功能的实现原理,本例提供了一个范例程序prgsbar,它演示了在编辑视图里显转载 2011-11-17 20:54:36 · 3665 阅读 · 0 评论 -
敏捷思维- 架构设计中的方法学
敏捷思维-架构设计中的方法学 目录1.从方法论看架构设计... 22.架构设计的敏捷视图... 73.源自需求... 134.团队设计... 185.简单设计... 246.迭代设计... 297.组合使用模式... 368.架构愿景... 419.分层 (上) 4510.分层转载 2011-07-18 14:31:20 · 5622 阅读 · 1 评论 -
问题记录20110908
今天在调试程序,总是不对。后来发现问题的所在:我建立了一个点列表与存放点的文件的映射,通过这个映射,我们可以直接找到访问点所在文件的位置。我定义了文件下标索引和列表下标索引都为INT类型,而映射列表定义了WORD(2个字节)类型,这样当下标索引超过65535,值又从0开始。所以像原创 2011-09-08 20:26:14 · 360 阅读 · 0 评论 -
数据区,代码区,堆栈区,操作系统堆栈
数据区,代码区,堆栈区,操作系统堆栈 堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的转载 2011-08-19 10:54:51 · 7014 阅读 · 0 评论