12 2013 档案
摘要:如果有人问我,哲学研究什么?我会告诉他三个问题:1、世界是什么?2、我如何认识世界?3、我该如何生活?这三个问题基本概括了哲学最主要的三个分支:本体论、认知论和伦理学。如果有人问我,计算机科学研究什么?我也会告诉他三个问题:1、计算机能解决哪些问题?2、计算机如何描述问题?3、计算机如何解决问题?分别是计算机的数学模型、计算机对物理世界的模拟和计算机的架构及实现。邱奇-图灵论题认为:任何在算法上可计算的问题同样可由图灵机计算。尽管尚未被公式证明,但它仍然已经被广泛接受。图灵机本身是人类逻辑的产物,我们有理由假定,任何人类逻辑产生的可计算的问题,均可用图灵机进行形式化描述。但是,由于图灵机本身被
阅读全文
摘要:1.检测程序中的括号是否匹配把光标移动到需要检测的括号(如大括号{}、方括号[]、圆括号()和尖括号)前面,键入快捷键“Ctrl+]”。如果括号匹配正确,光标就跳到匹配的括号处,否则光标不移动,并且机箱喇叭还会发出一声警告声。2.查看一个宏(或变量、函数)的宏定义把光标移动到你想知道的一个宏上,就比如说最常见的DECLARE_MAP_MESSAGE上按一下F12(或右键菜单中的Go To Defition Of …),如果没有建立Browse files,会出现提示对话框,确定,然后就会跳到定义那些东西的地方。3.格式化一段乱七八糟的源代码选中那段源代码,按ATL+F8。4.在编辑状态下发现成
阅读全文
摘要:首先要把CD2 dlg;写成全局,因为button这个函数是一次性运行,运行完CD2 dlg这个资源就销毁了,导致点击以后对话框一闪而过,可以写在cpp的include的下面其次if(!dlg.m_hWnd) 的情况下才dlg.Create(IDD_DIALOG2,this);否则第一次可以正常弹出,第二次点的时候必然报错,因为不能重复create最后不需要dlg.Detach();据我所知这个函数用来切断对象和窗口的关系,所以,不合适吧最后总结下代码应该是这样的CD2 dlg;放全局if(!dlg.m_hWnd){dlg.Create(IDD_DIALOG2,this);}dlg.Show.
阅读全文
摘要:上一篇文章,我介绍了KMP算法。但是,它并不是效率最高的算法,实际采用并不多。各种文本编辑器的"查找"功能(Ctrl+F),大多采用Boyer-Moore算法。Boyer-Moore算法不仅效率高,而且构思巧妙,容易理解。1977年,德克萨斯大学的Robert S. Boyer教授和J Strother Moore教授发明了这种算法。下面,我根据Moore教授自己的例子来解释这种算法。1.假定字符串为"HERE IS A SIMPLE EXAMPLE",搜索词为"EXAMPLE"。2.首先,"字符串"与"
阅读全文
摘要:字符串匹配是计算机的基本任务之一。举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"?许多算法可以完成这个任务,Knuth-Morris-Pratt算法(简称KMP)是最常用的之一。它以三个发明者命名,起头的那个K就是著名科学家Donald Knuth。这种算法不太容易理解,网上有很多解释,但读起来都很费劲。直到读到Jake Boxer的文章,我才真正理解这种算法。下面,我用自己的语言,试图写一篇比较好懂的KMP算法解释。1.首先,字符串"BBC ABCDAB ABCD
阅读全文
摘要:方法一:原文在:http://support.microsoft.com/?kbid=2228291插入一个新的Accelerator到资源里,把加速键和对应的响应控件(如一个按钮)关联2在对话框头文件中声明:HACCELm_hAccel;3在对话框的构造函数里初始化m_hAccelm_hAccel=::LoadAccelerators(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_ACCELERATOR1));4然后重载对话框的PreTranslateMessage函数,在BOOLCAboutDlg::PreTranslateMessage(MSG*p
阅读全文
摘要:大一学习C语言的时候,书上就写着a = a + b与 a += b等价,但是提倡用后者。在CSDN上也看到一个关于a+=b和a=a+b的区别的帖子,大概内容如下:------------------------------------------------------------------------------------------------------------------------------------------楼主:为什么要强调使用 a+=b 而不建议使用a=a+b我想在编译上应该是一样的啊add a b就算是间接寻址也应该一样啊 以下是各位高人的回答:1 楼mLee7
阅读全文
摘要:VS2005下使用VC,部分断点无效,显示『当前不会命中断点。还没有为该文档加载任何符号』。试过以下一些方法:1、无效断点所在的项目和启动项目的设置:项目->属性->配置属性->C/C++->常规->调试信息格式,这里不能为『禁用』;2、项目->属性->配置属性->链接器->调试->生成调试信息,这里设为『是』;3、C/C++->优化->优化选择『禁用』;4、删除解决方案下的.ncb文件;5、工具->选项->调试->『要求源文件与原始版本完成匹配』去掉勾;6、最后在上述设置的情况下,重新编译整个解决方案;
阅读全文
摘要:用“\n”写入文本文件时,打开文本文件显示的为什么不是回车换行而是个黑方块“■”,但用file()读取时还是认为是一行一行的? 首先在WINDOWS里回车换行是"\r\n"; 而LINUX里回车换行是"\n"。 对于打开文本文件显示的不是回车换行而是个黑方块“■”的情况,先用写字板打开,然后保存为纯文本格式,再用记事本打开就没有那黑块了,而且已经换了行。 如果写入时用\r\n就不会有黑方块。 为了兼容性操作文本最好加个“b”,如: fopen("hi.txt","wb"); fopen("hi.txt&q
阅读全文

浙公网安备 33010602011771号