代码之家  ›  专栏  ›  技术社区  ›  Nathan Campos

关于控制台嵌入式Visual C++应用的论证

  •  1
  • Nathan Campos  · 技术社区  · 14 年前

    我试图开发一个简单的应用程序,可以读取一些文件,目标是windows ce。为此,我使用微软嵌入式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[] 对于参数,我需要一些关于如何确定参数的帮助。

    3 回复  |  直到 12 年前
        1
  •  0
  •   reuben Omranic    14 年前

    windows应用程序的“main”功能可以采用几种不同的形式之一。有 WinMain main and wmain . 在您的例子中,您编写了一个winmain函数 主要的 参数(即 argc argv )

    我建议你把函数名改成 主要的 并确认您的visual studio项目已正确配置为“正确的”应用程序入口点。

        2
  •  0
  •   Thomas Matthews    14 年前

    您需要提供有关嵌入式平台的更多详细信息。嵌入式平台与桌面计算机有很大的不同,特别是它们的资源,如文件系统I/O、内存容量和硬件布局(寻址)。

    要开发WinCE应用程序,必须确认平台支持文件系统。很多嵌入式系统没有。

    接下来,您应该研究如何设置wince来执行c函数:它是否使用windows( WinMain ) tmain , wmain main ?此外,还需要研究如何将参数传递给程序。窗口编程不同于“控制台”编程。

        3
  •  0
  •   MSalters    12 年前

    WinMain 定义为

    int WINAPI WinMain(HINSTANCE hInstance,
                       HINSTANCE hPrevInstance,
                       LPSTR    lpCmdLine, /* command line */
                       int       nCmdShow)
    

    你可能想要类似的东西

    if (sscanf(lpCmdLine, "%s", filename) != 1) {
      showHelp();
    }
    
    推荐文章