none
进程在不同操作系统下的返回值不一样 RRS feed

  • 问题

  •        软件是这样的:java编写的一个程序来启动一个C++编写的控制台程序。正常来说进程的返回值就是main函数的返回值。现在诡异的是在本地的win7系统下能够获取控制台程序正确的返回值,比如main函数返回1就能获取1,返回14就能获取14。但是部署到Win Server2008系统下无论main函数返回值是什么,java程序获取的C++进程的返回值都是0。试了多台Win Server2008系统的服务器都一样。

    前无古人,后无来者

    2017年8月22日 3:11

全部回复

  • Hi clever101,

    感谢在MSDN论坛发帖。

    >>java编写的一个程序来启动一个C++编写的控制台程序。正常来说进程的返回值就是main函数的返回值。现在诡异的是在本地的win7系统下能够获取控制台程序正确的返回值,比如main函数返回1就能获取1,返回14就能获取14。但是部署到Win Server2008系统下无论main函数返回值是什么,java程序获取的C++进程的返回值都是0。试了多台Win Server2008系统的服务器都一样。

    请问你是如何获取c++进程的返回值的?

    你可以通过命令行输入以下命令来查看你的c++程序是否返回正确的值。

    程序目录>test.exe
    程序目录>echo %errorlevel%

    如果返回了正确的值,则可能是你的JAVA程序出现了问题。如果没有,则单步调试你的程序,查看具体出错位置。

    Best Regards,
    Sera Yu


    MSDN Community Support<br/> Please remember to click &quot;Mark as Answer&quot; the responses that resolved your issue, and to click &quot;Unmark as Answer&quot; if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact <a href="mailto:MSDNFSF@microsoft.com">MSDNFSF@microsoft.com</a>.

    2017年8月22日 6:27
  • Hi clever101,

    感谢在MSDN论坛发帖。

    >>java编写的一个程序来启动一个C++编写的控制台程序。正常来说进程的返回值就是main函数的返回值。现在诡异的是在本地的win7系统下能够获取控制台程序正确的返回值,比如main函数返回1就能获取1,返回14就能获取14。但是部署到Win Server2008系统下无论main函数返回值是什么,java程序获取的C++进程的返回值都是0。试了多台Win Server2008系统的服务器都一样。

    请问你是如何获取c++进程的返回值的?

    你可以通过命令行输入以下命令来查看你的c++程序是否返回正确的值。

    程序目录>test.exe
    程序目录>echo %errorlevel%

    如果返回了正确的值,则可能是你的JAVA程序出现了问题。如果没有,则单步调试你的程序,查看具体出错位置。

    Best Regards,
    Sera Yu


    MSDN Community Support<br/> Please remember to click &quot;Mark as Answer&quot; the responses that resolved your issue, and to click &quot;Unmark as Answer&quot; if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact <a href="mailto:MSDNFSF@microsoft.com">MSDNFSF@microsoft.com</a>.

         你好!我们就是这样测试的,

    程序目录>test.exe
    程序目录>echo %errorlevel%

         在win7 上main函数返回什么值,echo就输出什么值,在server2008上无论main函数返回什么值,echo都输出0。在server2008通过输出日志文件都确认main函数返回值为1,但是echo都输出是0。


    前无古人,后无来者



    2017年8月22日 7:17
  • >>在win7 上main函数返回什么值,echo就输出什么值,在server2008上无论main函数返回什么值,echo都输出0。在server2008通过输出日志文件都确认main函数返回值为1,但是echo都输出是0。

    请问你有没有试过管理员身份运行。或者在代码中添加LogonUser 函数来登陆管理员用户,查看是否可行。

    如果还是不行,我建议你connect到Microsoft,并将该问题发布到上面。或者在你的vs上单击帮助 - >发送反馈 - >报告问题。

    希望对你有所帮助。

    Best Regards,
    Sera Yu


    MSDN Community Support<br/> Please remember to click &quot;Mark as Answer&quot; the responses that resolved your issue, and to click &quot;Unmark as Answer&quot; if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact <a href="mailto:MSDNFSF@microsoft.com">MSDNFSF@microsoft.com</a>.

    2017年8月28日 7:53