一、环境准备
1.VC6.0,VC6SP6,adsv1.2+patch
2.WRE SDK: 3.2.6,4.1.0_0423(cn):
若需要两个环境,需先安装低版本的3.2.6。
二、开发问题
1.工程目录
1)新建的工程,要放在wre/application目录下,否则会导致编译出错。
2)wre/app/工程名称/ 目录下放置win32模拟器工程生成的dll及资源文件
3)exe工程最终编译出*.wpk文件,wpk文件在application/工程目录/install/win32_debug 或 arm_debug目录下。
exe或dll相应的arm版本,编译的结果也在arm_debug目录下产生。
4)exe工程目录下,packet_root中文件会在工程编译结束后拷贝至wre/app/工程名称/ 目录下,同名文件会被覆盖
2.exe与dll的区别
1)exe工程表示一个应用,dll工程表示产生一个供exe工程使用的文件。使用的方式就是 dll 文件导出接口给exe工程使用。
2)Loadlibraray/GetProcAddress/Freelibrary实现对dll的使用。
3)使用时,将dll拷贝至exe工程目录的packet_root中及wre/app/exe工程名/ 目录下;并将wre/app/exe工程名/ xxxx.dll添加到additional dlls中;
调用代码:
HANDLE hdllHdl = LoadLibrary(_T("testdll.dll"));
if (0 != hdllHdl)
{
dllfunc func = (dllfunc)GetProcAddress(hdllHdl,"dllfunc");
if (NULL != func)
{
func("xxx");
}
FreeLibrary(hdllHdl);
hdllHdl=0;
}
3.添加文件时,要通过插件的 红色 A 按钮 添加
4.调试
1)exe工程
settings->debug->general->..\..\bin\MSDev.exe
settings->debug->additional dlls->D:\wre\app\mytest\mytest.dll (尽量使用绝对路径)
2)dll工程
讲dll工程与exe工程放在同一个workspace中。
拷贝dll文件至wre\app\exe工程名\目录下或wre\application\exe工程\packet_root\目录中,如果采用后者,需要编译exe工程,好将dll拷贝至wre\app\exe工程名\目录下
将wre\app\exe工程名\ 目录下dll的绝对路径添加到additional dlls中
在exe工程中调用dll中接口(方法见本文中 exe与dll的区别 中第三点)
5.文件系统
1)wre\bin\disk\sd card.img
该文件对sdcard,在模拟器中调试时,其相当于是e:盘 ( _T("e:\\") )
2)wre\bin\disk\udisk.img
相当于是d:盘 _T("d:\\")
3)通过 UltraISO可以打开img文件,并向其中添加/删除文件。如此可以再模拟器中方便调试。