编辑: 黑豆奇酷 2018-09-14

2008 2008

2008 2008 环境下)

3 3

3 3 编写一个应用程序 3.1 新建一个 Visual C++工程,把工程类型设置为 Smart Device,模板选择 MFC Smart Device Application,如下图所示: 第 3页 3.2 在确定 Platform 时,选择 NewlandPT98x,并且把其它的设备去掉,如下图所 示: 3.3 在选择以何种方式使用 MFC 库时,建议用户选择 Use MFC in a static library 方式来使用 MFC 动态链接库,因为我们的设备端只提供了 Release 版的 MFC 动态链接库,如果用 Use MFC in a shared DLL 选项,将导致 Debug 版本的程 序无法在设备上运行与调试. 3.4 剩下的工程参数可以根据用户自己的需求来确定,没有特别要求.至此,一 个应用程序的框架就建立起来了.

4 4

4 4 如何执行编译好的程序 在程序编译完成之后,我们就可以布署程序并运行了.布署程序有两种方式(这 里指的是开发与测试过程中的布署) . 一种是把编译生成的目标文件通过 ActiveSync 软件复制到设备的文件系统上,然 后从设备的文件浏览器(我的设备)中打开应用程序,这里就可以看到程序运行起来 的界面与结果了. 二是通过 Debug 菜单的 Start Without Debugging 选项来运行程序.如下图所示: 这种方法要求设备必须已经通过 USB 连接到了 PC 上.且ActiveSync 状态是已 连接.运行时,Visual Studio 会先把相应的文件复制到设备的 \Program Files\[Project Name]\ 目录下,然后再调用程序运行.如果程序有用到额外的数据库、动态库或图 片之类的文件,需要手工拷贝到 \Program Files\[Project Name]\ 目录下. 第 4页

5 5

5 5 如何调试程序 程序调试有两种手段,一种是直接联机在线调试,通过设置程序运行断点等方法 进行单步运行调试,另外一种是不中断程序的运行,而通过程序输出的调试信息来观 察参数与定位错误位置.两种模式各有优点与用处,用户可以依据自己的需要选择适 当的调试方法. 5.1 5.1 5.1 5.1 在线调试 点击运行之后可以在 Output 窗口可以看到如下信息: Deploy started: Project: xxx, Configuratior xxx 这表示 Visual Studio 正在向设备布署应用程序,在这过程中,Visual Studio 将 把应用程序复制到设备的 \Program Files\[Project Name]\ 目录下,并且把一些 应用程序需要的动态链接库传输到设备上,然后就会开始以调试模式运行应用程 序. 这一布署过程在第一次调试时需要的时间比较长,可能需要将近

1 分钟,但 之后再进行调试时,布署速度将会有很大的提高. 5.2 5.2 5.2 5.2 如何输出调试信息 除了联机在线单步调试之外,有时需要输出一些调试信息,当调试信息的量 比较小时还可以显示在程序的界面上,但信息量大的时候就需要用其它的解决方 法了. Windows CE 提供了三个接口来输出调试信息,它们的函数原型如下: void void void void TRACE( TRACE( TRACE( TRACE(LPCWSTR LPCWSTR LPCWSTR LPCWSTR lp lp lp lpFmtStr, FmtStr, FmtStr, FmtStr, … … … …);

);

);

);

要使用 TRACE 接口, 必须加入 MFC 库的支持, 否则无法使用. 实际上 TRACE 接口是一个宏定义,它只在 Debug 版时起作用,生成 Release 版时将不会有任何 操作与信息输出.通常情况下,我们推荐用户使用这个接口. void void void void NKDbgPrintfW(LPCWSTR NKDbgPrintfW(LPCWSTR NKDbgPrintfW(LPCWSTR NKDbgPrintfW(LPCWSTR lp lp lp lpFmtStr, FmtStr, FmtStr, FmtStr, … … … …);

);

);

);

NKDbgPrintfW 接口是一个真实存在的内核接口, 一量调用它就将输出指定的 第 5页 信息,而不管是 Debug 版还是 Release 版.如果用户的应用程序不想加入 MFC 库 的支持但又想输出调试信息的话,可以使用这个函数. void void void void OutputDebugString(LPCWSTR OutputDebugString(LPCWSTR OutputDebugString(LPCWSTR OutputDebugString(LPCWSTR lp lp lp lpDbgStr DbgStr DbgStr DbgStr);

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题