我正在尝试开发一个简单的应用程序,它将读取一些针对Windows CE的文件。为此,我使用Microsoft eMbedded Visual C ++ 3.这个程序(用于控制台)将被调用如下:
/存储卡/测试> coms file.cmss
正如您所看到的,file.cmss
是第一个参数,但在main
我有条件显示帮助(正常,如何使用程序)如果参数小于2:
int WinMain(int argc,char **argv) {
if(argc < 2) {
showhelp();
return 0;
}
}
但是当我在Windows CE的命令行上执行程序时(使用所有必要的参数),我得到了showHelp()
内容。然后我检查了所有代码,但它完全正确。但我认为eVC ++没有使用argc
和argv[]
作为参数,那么我想要一些帮助来确定它的参数。
答案 0 :(得分:0)
Windows应用程序的“主要”功能可以采用几种不同形式之一。有WinMain
,有main
and wmain
。在您的情况下,您编写了一个WinMain函数,该函数采用经典的main
参数(即argc
和argv
)。
我建议您将函数名称切换为main
,并确认您的Visual Studio项目已正确配置为“正确”的应用程序入口点。
答案 1 :(得分:0)
您需要提供有关嵌入式平台的更多详细信息。嵌入式平台与台式计算机的差异很大,尤其是文件系统I / O,内存容量和硬件布局(寻址)等资源。
要开发WinCE应用程序,您必须确认该平台支持文件系统。许多嵌入式系统都没有。
接下来,您应该研究如何设置WinCE来执行C函数:它是使用Windows(WinMain
),tmain
,wmain
还是main
?此外,您需要研究如何将参数传递给程序。窗口编程与“控制台”编程不同。
答案 2 :(得分:0)
WinMain
定义为
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine, /* command line */
int nCmdShow)
你可能想要类似于
的东西if (sscanf(lpCmdLine, "%s", filename) != 1) {
showHelp();
}