FORTRAN PowerStation 1.0a ANSWERS.TXT
ID: Q125873
|
The information in this article applies to:
-
Microsoft FORTRAN PowerStation, version 1.0a
on the following platforms: WINDOWS
SUMMARY
This article answers frequently asked questions. The information is taken
from the Microsoft FORTRAN PowerStation 1.0a ANSWERS.TXT.
MORE INFORMATIONTable of Contents by Section and Question Number
General:
- Why does PowerStation run in Windows yet build applications for MS-DOS
only?
- I see various components with NT in their name. Do I need Windows NT to
run this product?
- Can I distribute programs created with PowerStation royalty free?
- How does virtual memory work under FORTRAN PowerStation? Is there any
way I can change this functionality?
Programs Won't Run:
- Why does a program run on the computer where it was compiled but not on
another computer?
- Why do I get the message "This program cannot be run in DOS mode?"
- Why do I get an "unhandled exception: Page fault" error?
Compile Time Errors:
- Why do I get a "CVPACK error" when using /Zi from the command line?
- What are LNK errors, and where can I get more information on them?
Run Time Errors:
- Why do I get an error when reading near the end of the file?
- What are DX errors, and where can I get more information on them?
- Why do I get a "General Protection Fault"?
- Why sometimes does CTRL+C or CTRL+BREAK not terminate my program?
Using the Visual Workbench:
- What do I do about "Internal error. Timed out waiting for WINTEE.EXE"?
- Why do I get "Cannot open the browser database file. Share is not
installed or is not active for this drive." when I use the browser?
- What can I do to speed up compiles and links?
- How do I delete a project, and all its associated files?
- In the editor, how can I do column selections or use macros?
- Why are INCLUDE/$INCLUDE statements not scanned for dependencies?
- Why do some windows not remain when I close and reopen Visual
Workbench?
- The debugger is sometimes slow or acts erratic; what can I do to fix
it?
Mixed Language Programming:
- How do I mix FORTRAN and Assembly?
- How do I mix FORTRAN and C?
Differences from FORTRAN Version 5.1:
- Why is a program sometimes faster when compiled with F5.1?
- What happened to the /Fs compiler option?
General
- Q. The FORTRAN 5.1 development system ran under MS-DOS and built
applications for MS-DOS and Windows, and DLLs for Windows. Why
does FORTRAN PowerStation run in Windows and build applications
for MS-DOS only?
A. FORTRAN 5.1 is a 16-bit compiler. There are inherent capacity
limitations associated with the 16-bit architecture. In order
to allow users to overcome the DOS 640K barrier, we created
FORTRAN 5.1 which could generate QuickWin applications, essentially
16-bit applications that use extended memory managed by Microsoft
Windows. FORTRAN PowerStation is a 32-bit targeted compiler.
Since Windows for DOS is a 16-bit operating system, it would
potentially constrain performance for 32-bit applications.
32-bit DOS-extended applications, therefore, was the route of
choice.
FORTRAN PowerStation is also available for Windows NT. With this
product, 32-bit Windows applications and DLLs can be created
(for use on Windows NT only).
- Q. I see various components with NT in their name.
Do I need Windows NT to run this product?
A. No. Microsoft also offers FORTRAN PowerStation 32 for Windows NT.
FORTRAN PowerStation for MS-DOS shares some of the same technology
as the Windows NT product, with some shared components using NT
in their names. This product is targeted at 32-bit MS-DOS;
Windows NT is not a supported or required element of this
package.
- Q. Can I distribute the DOS extender with executables created
with FORTRAN PowerStation royalty free?
A. Yes. You have the right to distribute the DOS extender files
DOSXMSF.EXE and DOSXNT.386 with programs that you create with
FORTRAN PowerStation. There is no royalty required.
The font files COURB.FON, HELVB.FON and TMSRB.FON are owned by
BitStream, Inc. If you want to distribute these files with a
program, you will need to get permission from BitStream. The other
.FON files may be freely distributed (including those in the
SAMPLES\TECHNOTE\FONTS directory).
- Q. How does virtual memory work under FORTRAN PowerStation?
Is there any way I can change this functionality?
A. PowerStation virtual memory management is considerably
different depending on whether you are running your application
under MS-DOS or under Windows.
If you run your PowerStation application under MS-DOS, virtual
memory is managed by the Phar Lap DOS-extender. When your
application loads into memory, all declared data must load into
memory. If you don't have sufficient available extended memory,
the DOS-extender will use virtual memory on the disk where
DOSXMSF.EXE is located. This process is automatic and requires
no interaction on the part of the program. If you want to
relocate the location used for virtual memory, you can set the
DOSX environment variable with the command:
SET DOSX=-SWAPDIR X:\MYSWAP
Note that X: is the drive/partition you want to use and MYSWAP is
the directory in which you want to place the virtual memory file.
If you want to turn off use of virtual memory, you can set the
DOSX environment variable as follows:
SET DOSX=-NOVM
If you are running your program in an MS-DOS session under
Windows, then virtual memory is managed by Windows. You can
control the size and type of your Windows swap file by starting
the Control Panel application and selecting the 386 Enhanced
icon. Please consult your Windows documentation for further
details.
Programs Won't Run
- Q. I compiled and linked my program and it runs fine on the
machine where FORTRAN PowerStation is installed but when I take
it to another machine it won't run. How can I make this
application run on another machine?
A. There are two additional files that need to be installed on the
machine where you are going to run the FORTRAN application:
DOSXMSF.EXE and DOSXNT.386. DOSXMSF.EXE is the actual DOS
extender that allows your 32-bit program to run under MS-DOS.
DOXSNT.386 is a DPMI device driver that allows your program to
run as a 32-bit DOS-extended program under Windows. Both files
may be freely distributed (royalty free).
You need to install DOSXMSF.EXE either in the same directory as the
FORTRAN program or in a directory that is in your DOS PATH
environment variable. To install DOSXNT.386, you need the
following entry in the SYSTEM.INI file under the [386Enh] section:
device=C:\F32\BIN\dosxnt.386
(C:\F32 may be different if you installed PowerStation in
a different directory.)
- Q. I am compiling and linking in two separate steps from the
command-line. When I go to run the executable file I get the
error:
This program cannot be run in DOS mode.
What did I do wrong?
A. Because PowerStation applications use an MS-DOS-extender, there
is an additional step required to allow the executable to run
under MS-DOS. You need to run the BINDMSF.EXE utility on your
executable to install a small piece of code called a
"stub-loader." For example, for an executable file
called MYEXE.EXE, you would use the command line:
BINDMSF MYEXE.EXE
- Q. When I run my program on a machine with a large amount of memory
I get no error. But when I run it on a machine with less memory
I get the run-time error:
DOSXMSF : fatal error DX1020: unhandled exception: Page fault
A. This is an MS-DOS-extender error that indicates that the program
attempted to access memory that was not owned or allocated by
the program. A common cause of this error is an array subscript
that goes beyond the array's declared range. An attempt to access
an array beyond the range of the array does not cause the
DX1020 error to occur immediately. On machines with less
physical memory (RAM), this error occurs more often because any
attempt to access virtual memory on the disk will cause an
initial nonexception page fault; however, if the request for memory
is invalid, the DX1020 error will occur. Check the code
carefully to be sure that all array access uses an array index
within the proper range. Also, use the /4Yb compiler option to
install additional debug error checking. This option can be set
in the Visual Workbench by choosing Project from the Options
menu and then choosing the Compiler button. Then, select the
category Language Extensions and the Extended Error Handling option.
Compile Time Errors
- Q. When I compile with the /Zi option from the command line I get
the following error:
Usage: cvpack [-p] [-help] exefile
LINK32() : warning LNK4527: CVPACK error
A. Check your path and make sure that F32\BIN is the first directory
in the path. If you have other language products in your path
before F32\BIN, the version of CVPACK.EXE that is used by
LINK32.EXE may be incorrect. If you type CVPACK at the DOS
command line and press ENTER, you should see the following
message:
Microsoft (R) Debugging Information Compactor Version 4.25.00
Copyright (c) Microsoft Corp 1987-1993. All rights reserved.
If you see a version number earlier that the one above, you
need to correct the order of directories in your path so that
F32\BIN is first.
- Q. I get linker errors that start with LNK. Where can I find more
information about these errors?
A. The LINK32 errors are available in the ERRORS.HLP Windows Help
file and in the ERRORS.TXT ASCII text file. Access to
ERRORS.HLP is available only from Windows. You can access
this file from the Visual Workbench by selecting the Help menu
and choosing Search For Help On. Type in "errors" in the Help
Keyword text field and then choose OK. You can also access the
file by opening the File Manager and double-clicking the
ERRORS.HLP file in the \F32\HELP directory.
The ERRORS.TXT file is in the F32\README directory. It can be
read or printed from MS-DOS or Windows like any other text
file.
Run Time Errors
- Q. I have some FORTRAN code that reads a file that used to work
with Microsoft FORTRAN version 5.1. The code now receives an
error when it is almost finished reading the file. What is the
problem?
A. Earlier versions of Microsoft FORTRAN had some limited support
for end-of-file handling using the "CTRL+Z" character. This
character, which is number 26 in the ASCII table, is placed in
files by some editors and other file-creation utilities.
FORTRAN PowerStation no longer treats this character as a
special character and gives an error message when attempting to
read it into a variable. Make sure that files being read by
FORTRAN PowerStation programs do not contain this character,
which resembles a small right-pointing arrow when displayed by
editors capable of displaying all characters in a file.
- Q. I am getting some errors that begin with DX. Where can I get
more information on these errors?
A. The DX errors are Phar Lap DOS-extender errors and are
available in the ERRORS.HLP Windows Help file and in the
ERRORS.TXT ASCII text file. Access to ERRORS.HLP is available
only from Windows. You can access this file from the Visual
Workbench by selecting the Help menu and choosing Search For
Help On. Type in "errors" in the Help Keyword text field and
then choose OK. You can also access the file by opening the
File Manager and double-clicking the ERRORS.HLP file in the
\F32\HELP directory.
The ERRORS.TXT file is in the F32\README directory. It can be
read or printed from MS-DOS or Windows like any other text
file.
- Q. Why do I get a "General protection fault?"
A. General protection faults are typically caused by attempting to
access memory beyond the scope of your program. This is typically
caused by running off the end of an array (accessing element 100 of
a 10 element array).
Protection faults can also be caused by problems in the runtime
library, although this is more rare. If it appears that a runtime
intrinsic or routine is causing a protection fault, check the
arguments to be sure they are valid. Microsoft currenlty knows
of one such cause for protection faults: using EOF or BACKSPACE
on an unopened unit number. To workaround this problem, be sure
that all unit numbers passed to EOF or BACKSPACE have been
previously opened.
- Q. Why doesn't CTRL+C or CTRL+BREAK terminate my program?
A. You are probably using GetCharQQ. This intrinsic returns the ASCII
value 03 when these key combinations are used, instead of
terminating the program.
Using The Visual Workbench
- Q. When I attempt to build a project using the PowerStation Visual
Workbench, I get an error dialog box that says:
Internal error. Timed out waiting for "C:\F32\BIN\WINTEE.EXE"
to start. Please contact Microsoft Product Support Services.
What can I do to correct this problem?
A. The problem is probably caused by a Windows configuration
setting that causes Windows-based applications to get 100
percent of the computer's processing time whenever a
Windows-based application is active. This causes MS-DOS-based
applications to fail to run whenever a Windows-based
application is running. To correct the problem, from the Main
program group, start the Control Panel application. Choose the
"386 Enhanced" icon. Be sure that the Exclusive In Foreground
check box is not checked. Choose OK and close the Control Panel
application. The problem should now be corrected.
- Q. When I try to use the PowerStation Visual Workbench browser I
get the error:
Cannot open the browser database file. Share is not installed
or is not active for this drive.
How can I avoid this error?
A. The Visual Workbench browse utility requires that SHARE.EXE, an
MS-DOS file access arbitration utility, is installed prior to
starting Windows. The easiest way to do this is put the
statement "C:\DOS\SHARE" in your AUTOEXEC.BAT file (assuming
you have installed MS-DOS into C:\DOS). Make sure that you put
the SHARE command before any line in the AUTOEXEC.BAT that says
"win" or "dosshell."
- Q. When I use the PowerStation's Visual Workbench to compile and
build programs, it takes a very long time to compile and link.
What can I do to improve this process?
A. The system requirements state that you must be running MS-DOS
and that you need 4 megabytes (MB) of available memory, with 6
MB or more preferred. If you have only 4 MB of physical memory,
then under Windows you probably have less than 4 MB of physical
memory available and are intensively using your Windows swap
file. Make sure that your swap file is as large as it can be
and that you are using a permanent swap file. You can also
decrease the amount of memory that SMARTDRV or any other disk
caching utility is consuming. The most effective solution is to
add more physical memory to your machine.
- Q. If I have created a project, how do I delete it and its
associated files?
A. If you have created a project named TEST and want to delete it
and all of its associated files, you need to delete
TEST.FMK This is the project makefile.
TEST.FPW This is the project status file.
TEST.WSP This is the project workspace file.
The easiest way to maintain projects is to have a single
project in a directory. After saving your source code, you can
delete the entire directory to delete the project.
- Q. How can I get the editor in the Visual Workbench to do column
selections or use macros?
A. These are not currently features that are available in the
FORTRAN Visual Workbench editor. If you have a DOS editor that
has these capabilities, it is often convenient to add the DOS
editor to the Tools menu in FORTRAN Visual Workbench. You can
do this by selecting the Options.Tools menu item and clicking
the Add button. When you find the DOS editor executable file,
select it and click OK. In the resulting dialog box in the
Arguments text entry line, type
$file
and click the OK button. You will now have an entry under
your Tools menu that, when selected, will bring up your DOS
editor with the file that is currently in the active window in
FORTRAN Visual Workbench. You can then edit your file, and
when you exit from the DOS editor you will return to FORTRAN
Visual Workbench. The FORTRAN Visual Workbench will then allow
you to reload the edited file.
- Q. I created a project with the PowerStation Visual Workbench and
several of my source files have include statements. When I
modify one of these include files and then build the project,
the source file does not recompile. Why isn't there a build
dependency for the include files?
A. You are probably using the $INCLUDE metacommand and not the
INCLUDE statement in your source files. The Visual Workbench
build engine does not create dependencies for files on $INCLUDE
metacommands. Change all the metacommands to FORTRAN statements
and then force the project to rescan dependencies by selecting
Project and then choosing Scan All Dependencies.
- Q. Sometimes when I start up the PowerStation Visual Workbench I
can't see some of the windows I had set up when I closed it;
they are listed in the Windows menu, but I can't see or access
them. What happened and how can I see my windows again?
A. You probably had the inaccessible child windows minimized
within the Visual Workbench frame and then closed the Visual
Workbench while it was itself minimized. This can easily happen
if you exit Windows when the Visual Workbench is still active
and minimized. To avoid this problem, never exit the Visual
Workbench application when it is in a minimized state. You can
make any inaccessible child windows visible by selecting the
Window menu and choosing Cascade.
- Q. When I use the PowerStation debugger under the Visual
Workbench, it sometimes proceeds very slowly and occasionally
performs erratically. What can I do to improve this situation?
A. The system requirements for FORTRAN PowerStation state that
the product requires 4 MB of available memory. This is an
absolutely minimum requirement. Under Windows, the PowerStation
tools may not perform optimally without an adequate size
Windows swap file. Make sure that you have the largest Windows
swap file possible. The most effective way to improve
performance of the PowerStation tools is to add physical memory
(RAM) to your machine. For optimal performance while debugging,
make sure that you are not running any other applications.
In particular, make sure that you are not running any other
MS-DOS applications or MS-DOS prompts.
Mixed Language Programming
- Q. I have a number of assembly-code modules that I would like to
use with FORTRAN PowerStation. How can I do this?
A. 16-bit assembly code must be modified to work with 32-bit
applications. The assembly code will need to be converted to
use a 32-bit flat memory model and, in some cases, will have to
adjust for the fact that the application is running in 32-bit
protected mode and not in real mode. Object modules produced
by assemblers will probably be OMF-type files. They will need
to be converted to COFF-type object modules. It is recommended
that MASM 6.1 (or later) be used for 32-bit programming.
Please consult your MASM manual and Chapter 18 of the FORTRAN
PowerStation User's Guide.
An extended example of 32-bit MASM programming is provided with
the GRDEMO sample project in the F32\SAMPLES\GRAPHICS\DEMO
directory. The file MOUSE.ASM is a MASM routine used in the sample.
The comments in this file include tips on assembly language
programming.
- Q. I used to do mixed-language programming with high-level
languages (such as C) and FORTRAN. Can I do this with
FORTRAN PowerStation?
A. Yes. Object modules compiled with Microsoft Visual C++
32-bit edition, can be linked with FORTRAN PowerStation.
For more details, please see the information in the
F32\SAMPLES\MIXED_C directory. 16-bit C/C++ object modules
(created by earlier versions of Microsoft C or Visual C++
16-bit edition) can not be linked with 32-bit FORTRAN;
these must be recompiled with a 32-bit compiler.
For complete support of mixed 32-bit C and FORTRAN programming,
Microsoft offers development tools for Windows NT: Visual C++
32-bit edition and FORTRAN PowerStation 32 for Windows NT.
Microsoft Windows NT is a true 32-bit operating system
(in contrast to a 32-bit DOS extender on top of 16-bit
MS-DOS) allowing full integration between the two languages.
Mixing of C and FORTRAN is also possible in a pure 16-bit world,
such as MS-DOS or Windows, with Microsoft FORTRAN 5.1 and Microsoft
Visual C++ 16-bit edition.
Differences from FORTRAN Version 5.1
- Q. Why is a program sometimes faster when compiled with FORTRAN 5.1?
A. In some cases, code compiled with optimization disabled (-Od)
may be faster with FORTRAN 5.1. We chose to provide a fast
compile (-Od, default) and a fast execute (-Ox) option.
FORTRAN 5.1 did some optimization even with -Od, while FORTRAN
PowerStation does not. Also, by default, FORTRAN PowerStation
does no optimization, but -Ox is the default when using
FORTRAN 5.1. Since the default optimization is different between
these versions, it is important to be careful and compare using
the same level of optimization.
- Q. In FORTRAN version 5.1 there is an option, /Fs, to create a
source listing file. Can I do this with PowerStation?
A. No, this PowerStation product does not support the source
listing option. Most of the functionality of source listings is
available though different options in the Visual Workbench.
Source browser information, for example, provides a visual
means of locating variable definitions and references.
Additional query words:
1.00a q&a nofpsnt
Keywords :
Version : :1.0a
Platform :
Issue type :
|