博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Windows API一日一练(35)OutputDebugString函数
阅读量:4191 次
发布时间:2019-05-26

本文共 1366 字,大约阅读时间需要 4 分钟。

在软件的开发过程里,大部份时间是在做什么呢?其实是在调试代码,毕竟人类的思维方式是从简单到复杂的过程,自然的认知过程也是从简单到复杂。因此,开发软件时,第一个版本总是先写简单的,然后慢慢地添加出错处理上去,也把一些没有想到的情况添加进去,那些没有想到的错误,就叫做
BUG
。要根除一个软件里的
BUG
,是一件不容易的事情,不但要对这个软件流程比较熟悉,还要对这个软件的目标比较了解,还需要对这个开发平台了解,当然还需要不断地测试不同的条件是否出错。软件的条件组合是
2
N
次方,所以不可能把所有组合都测试完成,只能选择比较重要的进行测试,只要不影响软件的使用,这个软件就算是一款能够挣钱的软件了,不要希望这个软件一点
BUG
都不出现,那是不现实的,或者说付出的代价也太大了,导致这个软件的开发成本过高,公司当然是不能生存下去。因此,怎么样去平衡可使用性与软件的
BUG
,就成为一件艺术的事情。不同的场合是不同的需求的,一定不要为了完美而完美。下面就介绍怎么样使用
OutputDebugString
来输出调试信息到开发平台里。
 
函数
OutputDebugString
声明如下:
 
WINBASEAPI
VOID
WINAPI
OutputDebugStringA(
    __in LPCSTR lpOutputString
    );
WINBASEAPI
VOID
WINAPI
OutputDebugStringW(
    __in LPCWSTR lpOutputString
    );
#ifdef UNICODE
#define OutputDebugString OutputDebugStringW
#else
#define OutputDebugString OutputDebugStringA
#endif // !UNICODE
 
调用这个函数的例子如下:
#001 //
#002 // 
响应命令
.
#003 // 
蔡军生
 2007/09/13 QQ:9073204
#004 //
#005 LRESULT CCaiWinMsg::OnCommand(int nID,int nEvent)
#006 {
#007  //
菜单选项命令响应
:
#008  switch (nID)
#009  {
#010  case IDC_CREATEBTN:
#011         //
显示一个按钮。
#012         if (!m_hBtn)
#013         {
#014                m_hBtn = CreateWindow(_T("BUTTON"),_T("
按钮
"),
#015                    WS_VISIBLE|WS_CHILD|BS_PUSHBUTTON,
#016                    50,50,100,32,
#017                     m_hWnd,(HMENU)IDC_BTN,m_hInstance,NULL);
#018         }                                          
#019         break;
#020  case IDC_BTN:
#021        OutputDebugString(_T("
按钮按下
/r/n"));
#022         break;
#023  default:
#024         return CCaiWin::OnCommand(nID,nEvent);
#025  }
#026 
#027  return 1;
#028 }
 

转载地址:http://nlooi.baihongyu.com/

你可能感兴趣的文章
JAX-RS(java restful实现讲解)(转)
查看>>
Spring MVC与JAX-RS比较与分析
查看>>
openstack官方docker介绍
查看>>
头痛与早餐
查看>>
[转]在ASP.NET 2.0中操作数据::创建一个数据访问层
查看>>
Linux命令之chmod详解
查看>>
【java小程序实战】小程序注销功能实现
查看>>
Java中子类能否继承父类的私有属性和方法
查看>>
JVM内存模型详解
查看>>
(二)Git--工作区和暂存区、管理修改与撤销
查看>>
(七)Git--自定义Git
查看>>
(五)Git--分支管理
查看>>
(四)Git--远程仓库
查看>>
(六) Git--标签管理
查看>>
java中继承,子类是否继承父类的构造函数
查看>>
什么是Spring Cloud ?
查看>>
pyqt实现界面化编程
查看>>
qt写DLL文件并调用和出现的问题分析
查看>>
工厂模式(Factory)-设计模式(一)
查看>>
建造者模式(Builder)-设计模式(三)
查看>>