- 浏览: 12937 次
最新评论
windows编程新手常见问题
2011年05月06日
一.MFC两个对话框之间如何传递数据。
首先,这里有一个理解误区。一开始就把自己绑死在对话框上了。其实,在MFC里,对话框也是一个类。既然如何,你只需要考虑两个类之间如何传递数据就OK了。那就可以简化了(假设为类A和类B):
1.A与B是父子关系。这时候。应该只需要从父亲向儿子传递参数。如果有回传,可以使用回调或者返回值。
2.A与B是平级关系。这时候。需要让他们共同的父亲来负责传递。实际应用中。可以使用接口来实现。即A与B互相拥有对方的接口,注意是接口,不是实现。
二。不喜欢初始化变量。
很多新手的代码。是这样char buffer[255];
然后就把这个buffer传递给一些api操作。当api成功时,这里一般不会有问题。里面的字符串会是空结束符的。但当api失败时。这个字符串可能没有空结束。然后再用api来操作buffer时。崩溃。
三。不喜欢判断api或者函数的返回值。
一个函数有返回值,除非设计者秀逗,不然返回值都是有意义的。如果只是按文档抄一个函数调用下来。小学生都会。程序员,要学会判断返回值。
四。不清楚C库的字符串操作函数特性。
为什么只说字符串?因为常用呗。,难道不是?
windows有提供一些字符串操作函数。c库也有提供。但所有c库的字符串函数都不作安全检查的。即:只能接受合法,有效的参数。非法参数将导致崩溃。但大部分windows api可以接收空指针甚至无效指针。不信?用strcpy和lstrcpy试一下。传入空指针。前者是c库的,一定崩溃,后者是windows api.啥事没有。
五。写c++代码还是喜欢用c的格式化sprintf。
这也算问题吗?我认为算。why?
首先。更早的检查出错误,如果你用sprintf或者wsprintf。写错了。少写了参数。编译时不会有问题。如果这段代码没执行。那运行时也没事。但如果用c++的流格式。编译时就会发现错误。相信我。更早的发现错误才能更好的解决问题。
当然,有大虾不满意了。我一直用sprintf,挺好的啊。是挺好。你写错过没?有几个人记得如何格式化一个64位整型?用c++的流,你压根就不需要记。
六。一直想精通很多语言。
有这个必要吗?语言这东西,一通百通。编程语言就那点事,类型(有强有弱),变量,分支,循环,函数/过程/跳转(汇编),想清楚这些,剩下的就是每种语言的语法不一样而已。专心学好一门吧。学好了。你再看其他语言。其实没那么难。再说。门门通的结果是门门差。专精一门好。------我只会c++。
今天就到这里。
发表评论
-
如何为嵌入式开发建立交叉编译环境
2012-01-20 12:16 707如何为嵌入式开发建立交叉编译环境 2010年10月12日 ... -
自己动手编写嵌入式Bootloader之(3)
2012-01-20 12:16 643自己动手编写嵌入式Boot ... -
C++标准库简介
2012-01-20 12:16 688C++标准库简介 2011年03 ... -
汇编调用C库函数
2012-01-20 12:16 800汇编调用C库函数 2010年07月29日 1.先包含(由 ... -
python难吗?
2012-01-19 16:59 867python难吗? 2010年06月04日 学的人很少的 ... -
python
2012-01-19 16:59 966python 2010年06月08日 面对珍珠(Pe ... -
学习python
2012-01-19 16:59 709学习python 2011年09月29日 ... -
Python for s60[1_pys60简介]
2012-01-19 16:59 735Python for s60[1_pys60简介] ... -
100%解决Python平台安装更新错误的问题
2012-01-19 16:58 650100%解决Python平台安装更新错误的问题 2010年1 ... -
2012-1-12
2012-01-17 06:44 5612012-1-12 2012年01月12日 瀹剁┓浜轰 -
屎上最难!最搞笑的脑筋急转弯!不看答案你能猜对几个?
2012-01-17 06:43 713屎上最难!最搞笑的脑筋急转弯!不看答案你能猜对几个? 201 ... -
UNIX编程随笔(三十四)socket地址
2012-01-16 05:25 980UNIX编程随笔(三十四)socket地址 2010年04月 ... -
C#托管Socket的实现方法
2012-01-16 05:25 1031C#托管Socket的实现方法 2009年10月23日 ... -
UNIX编程随笔(三十五)连接以及读写socket
2012-01-16 05:24 1199UNIX编程随笔(三十五)连接以及读写socket 2010 ... -
socket 通信基础2
2012-01-16 05:24 702socket 通信基础2 2011年01月05日 ◆先看 ... -
ActionScript3.0 Socket编程
2012-01-16 05:24 580ActionScript3.0 Socket编程 2 ...
相关推荐
3.2 简单的Windows应用程序命名规则 3.3 简单的Unix应用程序命名规则 第4章表达式和基本语句 4.1 运算符的优先级 4.2 复合表达式 4.3 if 语句 4.4 循环语句的效率 4.5 for 语句的循环控制变量 4.6 switch语句 4.7 ...
3.2 简单的WINDOWS应用程序命名规则 23 3.3 简单的UNIX应用程序命名规则 25 第4章 表达式和基本语句 26 4.1 运算符的优先级 26 4.2 复合表达式 27 4.3 IF 语句 27 4.4 循环语句的效率 29 4.5 FOR 语句的循环控制变量...
用InstallShield制作专业Windows安装软件 Visual C++ 编程风格守则 我对VC的看法 如何学习vc++(vc的用处) 初学者要如何学习 C++【我见我闻我感我思】 C++学习经典 VC入门的一条路 一些不常见的VC数据...
1.4.4 Windows编程概念 6 1.5 集成开发环境简介 7 1.6 使用IDE 9 1.6.1 工具栏选项 9 1.6.2 可停靠的工具栏 10 1.6.3 文档 11 1.6.4 项目和解决方案 11 1.6.5 设置Visual C++ 2005的选项 23 1.6.6...
由于VBA在语言特性方面并不完备,List 等常见数据结构以及相关算法依赖于使用者进行实现,并且惟一内置的 Dictionary 也需要另外进行引入,使得VBA 比之Python对于新手不甚友好。但是在Windows平台下,Excel的普及...
大家一致认为,他的著作独具风格,无论是编程新手,还是经验丰富的编程人员,都很容易理解其内容。在个人实践中,Ivor Horton也是一名系统顾问。他从事程序设计教学工作已经超过了25年。 苏正泉,1995年毕业于解放...
该资料是《Android高级编程》的源代码 对应的书籍资料见: Android高级编程 基本信息 原书名: Professional Android Application Development 原出版社: Wrox 作者: (英)Reto Meier 译者: 王鹏杰 霍建同 出版社...
化的方式讲解这些材料,虽然从一个作者的角度考虑很有道理,但对于Linux 新手来说,他们 可能会感到非常困惑。 另一个目的,是想让读者熟悉Unix 的思维方式,这种思维方式与Windows 不同。在学习 过程中,我们会帮助...
中国DOS联盟批处理室精华帖合集,2007年上半年版。... 本电子书囊括了中国DOS联盟论坛批处理室从2004年至今的几乎全部精华/常见问题帖,是新手学习的必备,老手参考的宝典,内容精彩纷呈,不容错过。
书中用特殊版式突出标注的文字,是为了向读者提醒语言的重要特征,警示常见的错误,标明良好的编程实践,列出通用的使用技巧。希望这些标注可以帮助读者更快地消化重要概念,避免犯常见错误。为了更易于理解各种特征...
5.Linux系统常见应用软件 6.Turbo Linux 简体中文版安装手记 7.Apache+php3+PostgreSQL 8.XWindow显卡配置通用解决方法 9.Linux中的字型(FONTS)设定 10.Linux部分命令简介 11.Lilo.conf (LILO 配置文件) 手册 ...
常见的问题和会在可以NHibernate社区博客找到。 第三方演示,例子教程的链接可以在 NHibernate资源找到。 NHibernate网站的“社区(Community Area)”是讨论关于设计模式以及很多整合方案(ASP.NET, Windows Forms,...
14.4 继承中关于属性的一些问题.169 14.5 小 结 .172 第四部分 深入了解 C#.174 第十五章 接 口 .174 15.1 组件编程技术 .174 15.2 接 口 定 义 .177 15.3 接口的成员 .178 15.4 接口的实现 .182 ...
常见问题已在此处解决。 去做 安装Anaconda python。 Python 如果您熟悉python,则可以跳过本节! 如果您是python的新手,并且在使用C / C ++,MATLAB等语言方面有足够的编程经验,那么您应该能够轻松掌握该课程所...
无论是商业智能(BI)编程新手还是经验丰富的老手,都可从《SQL Server 2008商业智能完美解决方案》中获益。 目录 -------------------------------------------------------------------------------- 第一部分...
常见的 ASP.NET 2.0 转换问题和解决方案 Asp.Net2.0无刷新客户端回调 体验.net 2.0 的优雅(1) -- 异步WebService调用 ASP.NET 2.0页面框架的几点新功能 ASP.NET 2.0 中收集的小功能点 asp.net2.0中的webpart使用...
一种上传软件很简单对于新手FTP用户,然而强大的足以让有经验的用户。 友好的用户界面使您可以轻松地更新和维护复杂的网站。 你可以用一种上传软件维护关键任务文件传输的安全特性。 你甚至可以计划和脚本使用转让...
一个Java+ajax写的登录实例,附有JAVA源文件,JAVA新手朋友可以学习一下。 JAVA+JSP的聊天室 8个目标文件 简单 JavaScript万年历 显示出当前时间及年份,还可以选择年份及月份和日期 Java编写的HTML浏览器 一...
一个Java+ajax写的登录实例,附有JAVA源文件,JAVA新手朋友可以学习一下。 JAVA+JSP的聊天室 8个目标文件 简单 JavaScript万年历 显示出当前时间及年份,还可以选择年份及月份和日期 Java编写的HTML浏览器 ...