shrine 发表于 2015-2-3 18:45:51

求教关于虚拟机

虚拟机中装了xp,软件是visual studio2010+Intel visual Fortran11
其中有一句常用语句
write(*,*)
这句是要把write后面的内容输出到屏幕
我猜虚拟机程序误把主机的屏幕当成输出端,显然没有这个权限向主机屏幕输出内容,从而导致这句程序无法执行
如果把这句语句改成向文件写入内容,程序是可以执行的
试过cpp的cout 语句,也是输出到屏幕,执行没有问题

不知道我的猜想对不对,怎么解决


主机是windows10 和Mac10.10,结果都是一样的

li913 发表于 2015-2-3 21:51:14

用命令行把输出重定位到文件。

shrine 发表于 2015-2-3 22:22:29

请问你遇到过这个问题吗?

vvt 发表于 2015-2-4 07:27:47

虚拟机通常是没有权限向主机发送信息的。除非你进行很核心的编程。所以你的问题根本不是你想的那样。

shrine 发表于 2015-2-4 07:43:40

那是由于什么问题呢

fcode 发表于 2015-2-4 11:34:21

我也看不出来是什么原因,不过你截个图或许会有帮助。(全屏截图)

shrine 发表于 2015-2-4 17:22:43

fcode 发表于 2015-2-4 11:34
我也看不出来是什么原因,不过你截个图或许会有帮助。(全屏截图)

运行后弹出命令窗口没有反应


强制关闭后


fcode 发表于 2015-2-4 20:34:40

这是一个非常规的问题,我比较难以判断问题所在。

1.请把源码补充完整。Open 语句的后面是什么?
2.尝试去掉 Open 语句
3.上传你在虚拟机里编译好的 exe 文件。

shrine 发表于 2015-2-4 21:17:30

fcode 发表于 2015-2-4 20:34
这是一个非常规的问题,我比较难以判断问题所在。

1.请把源码补充完整。Open 语句的后面是什么?





open语句是为了测试写入文件是没有问题的。

这个exe在主机也是无法运行的,但是重新编译一下就可以了

vvt 发表于 2015-2-4 22:07:52

本帖最后由 vvt 于 2015-2-4 22:10 编辑

在我这里是不需要重新编译的,直接就可以运行。并输出了 6

但首先你得创建 fort888.dat 文件。猜你的 Open 语句里指定了 old ?

你可以尝试:
1.删除 Open 语句。
2.去掉 Status='old' 的子句。
页: [1] 2
查看完整版本: 求教关于虚拟机