Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
- 1 Window Layout
- 2 Tab Popup Menu
- 3 setlinestyle
- 4 ΠΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ
- 5 readimagefile
- 6 createscrollbar
- 7 For gfortran developers
- 8 Contributing
- 9 Make Utility
- 10 Running GNU Fortran as a syntax checking tool
- 11 Π‘Π°ΡΠ½Π΄ΡΡΠ΅ΠΊΠΈ
- 12 Editor Styles
- 13 getlistboxtext
- 14 ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Ρ GNU Make
- 15 Make Options
- 16 createcheckbox
- 17 Appearance
- 18 addmenu
- 19 macOS
- 20 ΠΡΠ°Π²ΠΈΠ»Π° ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΡΡΠΎΠ»Π±ΡΠ°
- 21 Editor Appearance
- 22 outtextxy
- 23 Project Objectives
- 24 graphresult
- 25 Linker
Window Layout
The Simply Fortran window is divided into two main regions. The left side displays project management, file outline, and debugging tool panels. The right side displays Fortran editor tabs as well as the Build Status and Console tabs. These tabs can be separated into additional views to show multiple files side-by-side. The entire window is displayed below:
The menu and toolbar located at the top of the window are explained in subsequent sections.
The bottom of the window feature a small status bar. The left-most portion of the status bar is used for reporting Simply Fortranβs current work status and, when appropriate, the current version control mode and branch. Normally, this status will report βReadyβ when editing text, managing projects, or configuring options. When a project build procedure is executed, this status will change to the appropriate text while the work is being performed. The right-most portion of the status bar contains the current cursor position within the editor.
Tab Popup Menu
Right-clicking on a tab will open the Tab Popup menu, which provides number of functions:
Close This Tab | Closes the currently selected tab |
Close Other Tabs | Closes all other open editor tabs |
Close All Tabs | Closes all editor tabs |
Add This File to Project | The file in the current tab is added to the Project Outline |
Save | Save the contents of this tab |
Save As | Save the contents of this tab to a specified filename |
Reload This File | Reloads the file contents from disk, discarding all changes |
Move to New Panel | Opens the tab in a separate tab panel |
The menu allows users to close select tabs, save the current tab, reload tab contents, add files to projects, and split editor panels, as described below.
Closing Tabs
Tabs can be closed using a popup menu available by right-clicking anywhere in the displayed tabs. The popup menu has multiple options:
- Close Current
- Close Others
- Close All
The first option simply attempts to close the currently selected tab. If unsaved information exists in the editor, the user will be prompted. The second option closes all tabs except the currently selected tab. The third option closes all tabs including the top-most tab.
When multiple tabs contain unsaved work, the user will be warned exactly once if multiple tabs are being closed simultaneously.
Add File to the Current Project
The fourth menu option, Add to Project, will add the selected editor tabβs file to the current project tree if not already present.
Splitting the Editor Panel
The Move to New Panel submenu allows the user to move the selected tab to a new tab panel, either to the right or below the current panel containing tabs. By moving the tabs to a new panel, the user can view and edit multiple files side-by-side, often making editing easier.
To move other tabs into the new panel, the user can simply drag any tab into the new tab bar of the new panel. Panels can also be resized by clicking on borders and dragging.
An editor panel will automatically be closed when all tabs have been removed. Tabs can either be closed or dragged to other editor panels.
Creating a New View of the Current Tab
The Create Another View option is used to create another tab that is directly linked to the selected tab. The option is useful for creating a second view of the same file. The new tab will be linked with the original; any changes in one tab will be reflected in the original and vice versa. This paradigm is useful when, for example, a user wishes to view one portion of a source file while editting another portion that wouldnβt necessarily fit on the same screen.
setlinestyle
C void setlinestyle (linestyle, upattern, thickness)Fortran subroutine setlinestyle (linestyle, upattern, thickness)
Description
Sets the current line style to either a predefined pattern or a user-specified pattern. Additionally, sets the thickness of lines. The linestyle may be one of the following:
SOLID_LINE |
DOTTED_LINE |
CENTER_LINE |
DASHED_LINE |
USERBIT_LINE |
If USERBIT_LINE is specified, the line pattern as specified by upattern is used. The upattern parameter will be a 2-byte array where any bit set to 1 will be drawn.
Parameters
Parameter | C Type | Fortran Type | Description |
linestyle | int | integer | The id of the desired pre-defined line pattern or USERBIT_LINE |
upattern | unsigned short | integer(kind=c_short) | The 16-bit pattern to use for line drawing |
thickness | int | integer | The thickness of the line |
ΠΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ
ΠΠΎΠΏΡΡΡΠΈΠΌ, ΠΌΡ Ρ ΠΎΡΠΈΠΌ Π·Π°ΠΏΡΡΡΠΈΡΡ Β«ΡΠΈΡΡΡΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΒ», Π½Π΅Β ΠΏΠΎΠ»ΡΠ·ΡΡΡΡ IDE. ΠΠΈΡΠ΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²Β ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ :
ΠΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ:
ΠΡΠ»ΠΈ ΠΏΡΡΠΈ Π²Β Β«ΠΏΠΎΠ΄Ρ Π²Π°ΡΠΈΠ»ΠΈΡΡΒ», ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΡΠ°ΠΉΠ» , Π·Π°ΠΏΡΡΠΊ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊΒ Π²ΡΠ²ΠΎΠ΄Ρ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΡ Π½Π°Β ΠΊΠΎΠ½ΡΠΎΠ»Ρ (ΠΈΠ»ΠΈ Β«ΠΊΡΠ°ΠΊΠΎΠ·ΡΠ±ΡΠΎΠ²Β» ΠΈΠ·-Π·Π° Π½Π΅ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ). ΠΡΠ»ΠΈ ΠΏΡΡΠΈ Π²Β Π½Π΅Β ΠΏΡΠΎΠΏΠΈΡΠ°Π½Ρ, ΠΏΠ΅ΡΠ΅Π΄ Π½Π°Π΄ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΊΒ Π½Π΅ΠΌΡ ΠΏΡΡΡΒ β Π²ΡΠ΅Β ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΠΏΡΠΈΡ Π·Π°Π΄Π°Π΅Ρ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°ΠΉΠ».
Π§ΡΠΎΠ±Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ , Π½Π΅Β Π·Π°Π²ΡΠ·Π°Π½Π½ΡΠΉ Π½ΠΈΒ Π½Π° ΠΊΠ°ΠΊΠΈΠ΅ Π²Π½Π΅ΡΠ½ΠΈΠ΅ -Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΎΠΏΡΠΈΡ :
Π Π΄ΡΡΠ³ΠΈΡ ΠΎΠΏΡΠΈΡΡ Β β
ΠΠ°Π»Π΅Π΅. ΠΠΎΠΏΡΡΡΠΈΠΌ, ΠΏΡΠΎΠ΅ΠΊΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ. ΠΡΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΒ ΡΡΠΈ ΡΠ°ΠΉΠ»Π°: , ΠΈΒ ΡΒ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΡΠ΅ΠΊΡΡΠ°ΠΌΠΈ:
ΠΡΠΈΠΌΠ΅Ρ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΡΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π°, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π½Π° ΡΡ Π΅ΠΌΠ΅:
ΠΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ, ΡΡΠΎΠ±Ρ Π½Π΅Β Π½Π°ΡΡΡΠ°Π»ΡΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π‘Π½Π°ΡΠ°Π»Π° ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΡΡΡΡ Π²Β ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠ΅ (ΠΎΠΏΡΠΈΡ ), Π°Β Π·Π°ΡΠ΅ΠΌ ΠΎΠ½ΠΈ Π»ΠΈΠ½ΠΊΡΡΡΡΡ Π²Β ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΉ .
readimagefile
C void readimagefile (filename, left, top, right, bottom)Fortran subroutine readimagefile (filename, left, top, right, bottom)
Description
Reads in an image file specified by filename and draws the resulting image at the coordinates specified. If filename is NULL or omitted, an βOpenβ dialog will appear. Image data falling outside the specified bounds will be clipped, not scaled. If the coordinates specify a region bigger than the image itself, the image will be drawn starting at the left-top position.
Parameters
Parameter | C Type | Fortran Type | Description |
filename | char * | character(*) | The filename to read |
left | int | integer | The left coordinate at which to draw the loaded image in the window |
top | int | integer | The top coordinate at which to draw the loaded image in the window |
right | int | integer | The right coordinate at which to draw the loaded image in the window |
bottom | int | integer | The bottom coordinate at which to draw the loaded image in the window |
createscrollbar
C int createscrollbar(x, y, width, height, direction, callback)Fortran function createscrollbar (x, y, width, height, direction, callback)
Description
Creates a scroll bar within the window. The scroll bar can be either horizontal or vertical
depending on the value of direction, which may be either:
Value | Description |
SCROLL_HORIZONTAL | A horizontal scroll bar |
SCROLL_VERTICAL | A vertical scroll bar |
The resulting scroll bar is not tied to the window to allow scrolling automatically. Rather, the developer must provide a callback procedure that will be called with the scrollbarβs current position whenever the scrollbar moves. This callback may then taken action based on the scroll position provided.
Parameters
Parameter | C Type | Fortran Type | Description |
x | int | integer | Leftmost position of the scroll bar |
y | int | integer | Topmost position of the scroll bar |
width | int | integer | Width of the scroll bar |
height | int | integer | Height of the scroll bar |
direction | int | integer | The direction of the scroll bar |
callback | void callback( int ) | subroutine callback(integer) | The procedure to call when the scroll position changes |
For gfortran developers
-
For those despairing of git: Some help can be found in the GitCookbook.
- Bug Bashing (status 3rd May 2019; incl. some double counting)
-
Regressions 61 bugs 6 assigned
-
PRs where a valid program is rejected or wrong code is produced 5 bugs, 1 assigned (Fortran 95 with default options)
-
Serious bugs 7 bugs 2 assigned; includes Fortran 95 bugs from above plus selected other bugs with high priority
-
PRs where wrong code is produced 100 bugs 9 assigned
-
PRs where a valid Fortran program is not accepted (internal compiler error, wrongly rejected), wrong code is produced or where the compile time or memory is excessively high 229 19 assigned bugs
-
PRs where invalid code is accepted or gives an internal compiler error 107 bugs 6 assigned
-
PRs which show where the diagnostics can be improved 113 bugs 5 assigned
-
All reports (bug reports, feature requests etc.): 872 reports
-
-
Graphical bug count timeline (Bugzilla account unfortunately required)
-
Projects for inclusion into gfortran-4.6: please add your own projects there, with an approximate date of merging and state of readiness
-
Action list for gfortran-4.5: summary of gfortran get-together of 2008-11-28
-
Fortran 2003 implementation status of the GNU Fortran Compiler (time line)
-
Beginnerβs guide to writing testcases β see also on the main Wiki HowToPrepareATestcase
-
SymbolVersioning for runtime libraries.
-
GFortranScalarizer documents the scalarizer gfortran uses internally to translate array fortran statements into scalar code enclosed in a loop.
Contributing
We encourage everyone to contribute
changes and help test GNU Fortran. GNU Fortran is developed on
the mainline of GCC and has been part of the compiler collection
since the 4.0.0 release.
Contributions will be reviewed by at least one of the following
people:
- Paul Brook
- Steven Bosscher
- Bud Davis
- Jerry DeLisle
- Toon Moene
- Tobias Schlueter
- Janne Blomqvist
- Steve Kargl
- Thomas Koenig
- Paul Thomas
- Janus Weil
- Daniel Kraft
- Daniel Franke
Under the rules specified below:
- All normal
requirements for patch submission (assignment of copyright to
the FSF, testing, ChangeLog entries, etc) still apply, and
reviewers should ensure that these have been met before approving
changes. - Approval should be necessary for
patches which donβt fall under the obvious rule. So, with the approver list
put in place, everybody (except maintainers) should still seek approval for
his/her patches. We have found the mutual peer review process really
works well. - Patches should only be reviewed by
people who know the affected parts of the compiler. (i.e. the
reviewer has to be sure he/she knows stuff well enough to make a
good judgment.) - Large/complicated patches should
still go by one of our maintainers, or team consensus. - We are all reasonable people, and nobody is working under
employer pressure or needs an ego-boost badly, so in general we
assume that no-one deliberately does anything stupid π
The directories involved are:
- gcc/gcc/fortran/
- gcc/gcc/testsuite/gfortran.dg/
- gcc/gcc/testsuite/gfortran.fortran-torture/
- gcc/libgfortran/
Make Utility
The Make utility is used to control the compilation process and control necessary inter-file dependencies when building Fortran projects. Simply Fortran relies on the Open Watcom Make (wmake) package to control the building process.
When a project is built, Simply Fortran scans all Fortran files to generate a proper Makefile that ensures all module dependencies are met. This Makefile is then passed to wmake to build the project accordingly.
The Make Options dialog allows the user to edit some settings related to the building process.
Make Location
This option specifies the path to the Make utility. After installation of Simply Fortran, the default value should lead to the proper wmake executable.
Project Toolkit Location
The project toolkit executable is necessary for resolving and building dependent projects. If a given project references another project, the build system will use the project toolkit to build the dependent project prior to building the referencing project. The default value should always be acceptable.
Simplified Build Progress
When this option is enabled, the output of compiler commands in the Build Status tab will show a simplified message as the build progresses. If the option is disabled, the full compiler commands will be generated in the Build Status tab. In either case, compiler warnings and errors will always be shown.
Project-Only Fortran Include Dependencies
This checkbox allows the user to specify how the dependencies of Fortran source files utilizing the INCLUDE statement are calculated. When this box is checked, Simply Fortran will only add files listed in INCLUDE statements as dependencies if the files are also present in the Project tree. If the box is unchecked, Simply Fortran will add any and all files appearing in INCLUDE statements as dependencies for a given source file.
Running GNU Fortran as a syntax checking tool
One may use GNU Fortran as a syntax checker (or verify that GNU Fortranβs frontend correctly accepts or rejects a program), by specifying -fsyntax-only on the command line. Gfortran will then not generate object files.
When given the command line option -fdump-parse-tree gfortran will print a representation of the parsed program, detailing both the data objects and the executable statements of the program in a Lisp-inspired notation. One remark for Fortran old timers: ASSIGN in these dumps does not refer to the ASSIGN statement, but to the operation of assignment, i.e. sloppily speaking, the = operator.
Π‘Π°ΡΠ½Π΄ΡΡΠ΅ΠΊΠΈ
ΠΠ· ΡΠΈΠ»ΡΠΌΠ° Π ΡΠ΅Π½ΡΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡΠΠ· ΡΠΈΠ»ΡΠΌΠ° ΠΠ°Π½ Π₯Π΅Π»ΡΡΠΈΠ½Π³ΠΠ· ΡΠ΅ΡΠΈΠ°Π»Π° ΠΠ½Π΅Π²Π½ΠΈΠΊΠΈ ΠΠ°ΠΌΠΏΠΈΡΠ°ΠΠ· ΡΠΈΠ»ΡΠΌΠ° Π‘ΠΊΠ°ΡΡΡ ΠΏΡΠΎΡΠΈΠ² Π·ΠΎΠΌΠ±ΠΈΠΈΠ· ΡΠΈΠ»ΡΠΌΠΎΠ² βΠΠΈΡΡΠΈΡ Π½Π΅Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌΠ°βΠΠ· ΡΠΈΠ»ΡΠΌΠ° ΠΠΎΠ»ΠΎΠ΄Π½ΡΠ΅ ΠΈΠ³ΡΡ: Π‘ΠΎΠΉΠΊΠ°-ΠΏΠ΅ΡΠ΅ΡΠΌΠ΅ΡΠ½ΠΈΡΠ°. Π§Π°ΡΡΡ 2OST βΠ‘Π²Π΅Ρ Π² ΠΎΠΊΠ΅Π°Π½Π΅βOST Β«ΠΠΎΠ»ΡΡΠΎΠΉ ΠΈ Π΄ΠΎΠ±ΡΡΠΉ Π²Π΅Π»ΠΈΠΊΠ°Π½Β»ΠΈΠ· ΡΠΈΠ»ΡΠΌΠ° βΠΠΎΠ²ΠΎΠ³ΠΎΠ΄Π½ΠΈΠΉ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²βΠΈΠ· ΡΠΈΠ»ΡΠΌΠ° βΠ‘ΠΏΠΈΡΠΎΠΊ Π¨ΠΈΠ½Π΄Π»Π΅ΡΠ°β OST βΠΠ΅ΡΠ΅Π²ΠΎΠ·ΡΠΈΠΊβΠΠ· ΡΠΈΠ»ΡΠΌΠ° ΠΠ½ΠΈΠ³Π° Π΄ΠΆΡΠ½Π³Π»Π΅ΠΉΠΈΠ· ΡΠ΅ΡΠΈΠ°Π»Π° βΠΠ΅ΡΠΎΠ΄βΠΠ· ΡΠΈΠ»ΡΠΌΠ° Π’Π΅Π»ΠΎΡ ΡΠ°Π½ΠΈΡΠ΅Π»ΡΠΠ· ΡΠ΅ΡΠΈΠ°Π»Π° ΠΠ·ΠΌΠ΅Π½ΡΠΈΠ· ΡΠΈΠ»ΡΠΌΠ° ΠΠΈΡΡΠ΅ΡΠΈΡΠΌ. Π’ΡΠΌΠ° Π² Π±ΡΡΡΠ»ΠΊΠ΅ΠΈΠ· ΡΠΈΠ»ΡΠΌΠ° βΠΠ°ΡΡΠ°ΠΆΠΈΡΡβΠΈΠ· ΡΠΈΠ»ΡΠΌΠ° Π’ΠΈΡΠΈΠ½Π°ΠΠ· ΡΠ΅ΡΠΈΠ°Π»Π° ΠΡΡ Π½Ρ. 6 ΡΠ΅Π·ΠΎΠ½ΠΈΠ· ΡΠΈΠ»ΡΠΌΠ° βΠ Π°ΡΠΏΠ»Π°ΡΠ°β ΠΠ· ΡΠΈΠ»ΡΠΌΠ° Π§Π΅Π»ΠΎΠ²Π΅ΠΊ-ΠΌΡΡΠ°Π²Π΅ΠΉΠΈΠ· ΡΠΈΠ»ΡΠΌΠ° ΠΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ΠΠ· ΡΠΈΠ»ΡΠΌΠ° ΠΠ΅Π³ΡΡΠΈΠΉ Π² Π»Π°Π±ΠΈΡΠΈΠ½ΡΠ΅ 2ΠΈΠ· ΡΠΈΠ»ΡΠΌΠ° βΠΠΎΠ»ΠΎΡβΠΈΠ· ΡΠΈΠ»ΡΠΌΠ° βΠΠ½ΠΊΠ°ΡΠ½Π°ΡΠΈΡβΠΠ· ΡΠΈΠ»ΡΠΌΠ° Π‘Π°Π²Π²Π°. Π‘Π΅ΡΠ΄ΡΠ΅ Π²ΠΎΠΈΠ½Π°ΠΠ· ΡΠ΅ΡΠΈΠ°Π»Π° ΠΠ΅Π³ΠΊΠΎ Π»ΠΈ Π±ΡΡΡ ΠΌΠΎΠ»ΠΎΠ΄ΡΠΌΠΈΠ· ΡΠ΅ΡΠΈΠ°Π»Π° βΠΠ»ΡΠ³Π°βΠΠ· ΡΠ΅ΡΠΈΠ°Π»Π° Π₯ΡΠΎΠ½ΠΈΠΊΠΈ Π¨Π°Π½Π½Π°ΡΡΠΠ· ΡΠΈΠ»ΡΠΌΠ° Π‘Π°ΠΌΡΠΉ Π»ΡΡΡΠΈΠΉ Π΄Π΅Π½ΡΠΠ· ΡΠΈΠ»ΡΠΌΠ° Π‘ΠΎΡΠ΅Π΄ΠΈ. ΠΠ° ΡΡΠΎΠΏΠ΅ Π²ΠΎΠΉΠ½ΡΠΡΠ·ΡΠΊΠ° ΠΈΠ· ΡΠ΅ΡΠΈΠ°Π»Π° Β«ΠΡΡΡΠΎΠ²Β»ΠΠ· ΡΠΈΠ»ΡΠΌΠ° ΠΠΎΠ³Π°Π½ΡΡΡΠ΅ΠΠ· ΡΠΈΠ»ΡΠΌΠ° ΠΡΠ΅ΡΡΡΠΏΠ½ΠΈΠΊΠΠ· ΡΠ΅ΡΠΈΠ°Π»Π° Π‘Π²Π΅ΡΡ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ΠΠ· ΡΠ΅ΡΠΈΠ°Π»Π° Π‘Π»Π°Π΄ΠΊΠ°Ρ ΠΆΠΈΠ·Π½ΡΠΠ· ΡΠΈΠ»ΡΠΌΠ° ΠΠΎΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π»Ρ ΠΊΠΎΡΠΎΠ»ΡΠΠ· ΡΠΈΠ»ΡΠΌΠ° ΠΠ΅ΡΠ²ΡΠΉ ΠΌΡΡΠΈΡΠ΅Π»Ρ: ΠΡΠΎΡΠΈΠ²ΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΠ· ΡΠΈΠ»ΡΠΌΠ° ΠΠΎΡΡΠΈΠΠ· ΡΠΈΠ»ΡΠΌΠ° ΠΡΠ±ΠΎΠ²Ρ Π½Π΅ ΠΏΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡOST βΠΠ»ΡΠ±ΠΎΠΊΠΎΠ²ΠΎΠ΄Π½ΡΠΉ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡβΠΠ· ΡΠΈΠ»ΡΠΌΠ° ΠΠ΅ΡΠ΅ΠΏΠΈΡΠΊΠ°ΠΈΠ· ΡΠΈΠ»ΡΠΌΠ° βΠΡΠΈΠ·ΡΠ°ΡΠ½Π°Ρ ΠΊΡΠ°ΡΠΎΡΠ°βΠΠ΅ΡΡΠΎ Π²ΡΡΡΠ΅ΡΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π½Π΅Π»ΡΠ·ΡOST Β«ΠΠ΅Π½ΠΈΠΉΒ»ΠΈΠ· ΡΠΈΠ»ΡΠΌΠ° βΠΡΠ°ΡΠΎΡΠΊΠ°βΠΠ· ΡΠΈΠ»ΡΠΌΠ° ΠΠ»ΠΈΡΠ° Π² ΠΠ°Π·Π΅ΡΠΊΠ°Π»ΡΠ΅ΠΠ· ΡΠΈΠ»ΡΠΌΠ° 1+1 (ΠΠ΅ΠΏΡΠΈΠΊΠ°ΡΠ°Π΅ΠΌΡΠ΅)ΠΠ· ΡΠΈΠ»ΡΠΌΠ° ΠΠΎ Π²ΡΡΡΠ΅ΡΠΈ Ρ ΡΠΎΠ±ΠΎΠΉΠΈΠ· ΡΠΈΠ»ΡΠΌΠ° βΠ‘ΠΊΡΡΡΡΠ΅ ΡΠΈΠ³ΡΡΡβΠΈΠ· ΡΠΈΠ»ΡΠΌΠ° ΠΡΠΈΠ·ΡΠ²ΠΈΠ· ΡΠ΅ΡΠΈΠ°Π»Π° βΠΠΈΡ ΠΠΈΠΊΠΎΠ³ΠΎ ΠΠ°ΠΏΠ°Π΄Π°βΠΈΠ· ΠΈΠ³Ρ ΡΠ΅ΡΠΈΠΈ βBioshockβ ΠΡΠ·ΡΠΊΠ° ΠΈΠ· Π°Π½ΠΈΠΌΠ΅ Β«Π’Π΅ΠΌΠ½ΡΠΉ Π΄Π²ΠΎΡΠ΅ΡΠΊΠΈΠΉΒ»ΠΈΠ· ΡΠΈΠ»ΡΠΌΠ° βΠΠΌΠ΅ΡΠΈΠΊΠ°Π½ΡΠΊΠ°Ρ ΠΏΠ°ΡΡΠΎΡΠ°Π»ΡβΠΠ· ΡΠΈΠ»ΡΠΌΠ° Π’Π°ΡΠ·Π°Π½. ΠΠ΅Π³Π΅Π½Π΄Π°ΠΠ· ΡΠΈΠ»ΡΠΌΠ° ΠΡΠ°ΡΠ°Π²ΠΈΡΠ° ΠΈ ΡΡΠ΄ΠΎΠ²ΠΈΡΠ΅ βΠΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡ. ΠΠΎΡΡΡΠΏ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Β»ΠΡΠ΄ΠΈ Π² ΡΠ΅ΡΠ½ΠΎΠΌ 3βΠΈΠ· ΡΠΈΠ»ΡΠΌΠ° βΠΠ»Π°Π½Π΅ΡΠ°ΡΠΈΡΠΌβΠΠ· ΡΠΈΠ»ΡΠΌΠ° ΠΡΠΎΠ³ΡΠ»ΠΊΠ°ΠΠ· ΡΠ΅ΡΠΈΠ°Π»Π° Π§ΡΠΆΠ΅ΡΡΡΠ°Π½ΠΊΠ°ΠΠ· ΡΠ΅ΡΠΈΠ°Π»Π° ΠΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΠΎΠΈΠ· ΡΠ΅ΡΠΈΠ°Π»Π° βΠΠ±ΡΠ°ΡΠ½Π°Ρ ΡΡΠΎΡΠΎΠ½Π° ΠΡΠ½ΡβΠΠ· ΡΠΈΠ»ΡΠΌΠ° ΠΠ°ΡΠΊΡΠ°ΡΡΠΠ· ΡΠΈΠ»ΡΠΌΠ° ΠΡΠΎΠΌΡΠ΅, ΡΠ΅ΠΌ Π±ΠΎΠΌΠ±ΡΠΈΠ· ΠΌΡΠ»ΡΡΡΠΈΠ»ΡΠΌΠ° βΠΠ²Π΅ΡΠΎΠΏΠΎΠΉβΠΠ· ΡΠΈΠ»ΡΠΌΠ° ΠΡΡΠΊΠ»ΠΈΠ½ΠΠ· ΡΠΈΠ»ΡΠΌΠ° ΠΠ³ΡΠ° Π½Π° ΠΏΠΎΠ½ΠΈΠΆΠ΅Π½ΠΈΠ΅ΠΠ· ΡΠΈΠ»ΡΠΌΠ° ΠΠ°ΡΠ°ΡΠΎΠ²Π°Π½Π½Π°ΡΠΈΠ· ΡΠΈΠ»ΡΠΌΠ° Π Π°Π·ΡΡΡΠ΅Π½ΠΈΠ΅OST Β«ΠΠΎΠ»Π½ΡΠΉ ΡΠ°ΡΠΊΠΎΠ»Π±Π°ΡΒ»OST Β«Π‘Π²ΠΎΠ±ΠΎΠ΄Π½ΡΠΉ ΡΡΠ°Ρ ΠΠΆΠΎΠ½ΡΠ°Β»OST Π Π³Π°ΡΠ½Π΅Ρ ΡΠ²Π΅ΡΠΠ· ΡΠ΅ΡΠΈΠ°Π»Π° Π‘ΠΎΠ»Π΄Π°ΡΡΠΠ· ΡΠ΅ΡΠΈΠ°Π»Π° ΠΡΡΡΠ° ΠΌΠΈΡΠ°ΠΠ· ΡΠΈΠ»ΡΠΌΠ° ΠΠ΅ΠΎΠ½ΠΎΠ²ΡΠΉ Π΄Π΅ΠΌΠΎΠ½ΠΠ· ΡΠΈΠ»ΡΠΌΠ° ΠΠΎΡΠΊΠ²Π° Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠΏΠΈΡΠΠ· ΡΠΈΠ»ΡΠΌΠ° ΠΠΆΠ΅ΠΉΠ½ Π±Π΅ΡΠ΅Ρ ΡΡΠΆΡΠ΅ΠΠ· ΡΠΈΠ»ΡΠΌΠ° Π‘ΡΡΠ°ΠΆΠΈ Π³Π°Π»Π°ΠΊΡΠΈΠΊΠΈΠΈΠ· ΡΠΈΠ»ΡΠΌΠ° βSos, Π΄Π΅Π΄ ΠΌΠΎΡΠΎΠ· ΠΈΠ»ΠΈ Π²ΡΠ΅ ΡΠ±ΡΠ΄Π΅ΡΡΡβOST βΠΠΎΠΌ ΡΡΡΠ°Π½Π½ΡΡ Π΄Π΅ΡΠ΅ΠΉ ΠΠΈΡΡ ΠΠ΅ΡΠ΅Π³ΡΠΈΠ½βΠΠ· ΠΈΠ³ΡΡ Contact WarsΠΠ· Π€ΠΈΠ»ΡΠΌΠ° ΠΠΌΠ΅Π»ΠΈΠΠ· ΡΠΈΠ»ΡΠΌΠ° ΠΠ»Π»ΡΠ·ΠΈΡ ΠΎΠ±ΠΌΠ°Π½Π° 2OST ΠΠ΅Π΄Π½ΠΈΠΊΠΎΠ²ΡΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄ 5: Π‘ΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎΠΠ· ΡΠΈΠ»ΡΠΌΠ° ΠΠ· ΡΡΠΌΡΠΠ· ΡΠΈΠ»ΡΠΌΠ° ΠΠΎΠ»ΠΎΠ½ΠΈΡ ΠΠΈΠ³Π½ΠΈΠ΄Π°Π΄ΠΈΠ· ΡΠΈΠ»ΡΠΌΠ° βΠ‘ΡΡΠ°Π½Π° ΡΡΠ΄Π΅ΡβΠΡΠ·ΡΠΊΠ° ΠΈΠ· ΡΠ΅ΡΠΈΠ°Π»Π° βΠ¦Π²Π΅Ρ ΡΠ΅ΡΡΠΌΡΡ ΠΈβΠΠ· ΡΠΈΠ»ΡΠΌΠ° ΠΠ±ΡΠ°Π·ΡΠΎΠ²ΡΠΉ ΡΠ°ΠΌΠ΅Ρ 2ΠΈΠ· ΡΠΈΠ»ΡΠΌΠΎΠ² ΠΏΡΠΎ ΠΠ°ΡΡΠΈ ΠΠΎΡΡΠ΅ΡΠ° ΠΠ· ΡΠΈΠ»ΡΠΌΠ° ΠΠΈΠ²Π΅ΡΠ³Π΅Π½Ρ, Π³Π»Π°Π²Π° 3: ΠΠ° ΡΡΠ΅Π½ΠΎΠΉ ΠΈΠ· ΠΌΡΠ»ΡΡΡΠΈΠ»ΡΠΌΠ° βΠΠΎΠ½ΡΡΡ Π² ΠΠ°ΡΠΈΠΆΠ΅βΠΈΠ· ΠΌΡΠ»ΡΡΡΠΈΠ»ΡΠΌΠ° βΠΠΈΡΡΡβΠΠ· ΡΠΈΠ»ΡΠΌΠ° ΠΠΎΡΠΎΠ±ΠΊΠ°ΠΠ· ΡΠΈΠ»ΡΠΌΠ° Π‘ΠΎΠΌΠ½ΠΈΡΠΠ· ΡΠ΅ΡΠΈΠ°Π»Π° Π₯ΠΎΠ΄ΡΡΠΈΠ΅ ΠΌΠ΅ΡΡΠ²Π΅ΡΡΠΠ· ΡΠΈΠ»ΡΠΌΠ° ΠΡΠ±ΠΎΡΠΠ· ΡΠ΅ΡΠΈΠ°Π»Π° ΠΠΎΡΠΎΠ»Π΅ΠΊ β ΠΏΡΠΈΡΠΊΠ° ΠΏΠ΅Π²ΡΠ°ΡΠΠ΅Π½Ρ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ 2: ΠΠΎΠ·ΡΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΠ· ΡΠ΅ΡΠΈΠ°Π»Π° ΠΠ΅Π»ΠΈΠΊΠΎΠ»Π΅ΠΏΠ½ΡΠΉ Π²Π΅ΠΊΠΈΠ· ΡΠΈΠ»ΡΠΌΠ° βΠΠΎΠ»ΡΠΎΡΠ° ΡΠΏΠΈΠΎΠ½Π°βΠΈΠ· ΡΠΈΠ»ΡΠΌΠ° Π‘Π²Π΅ΡΡΠΊΠ°Ρ ΠΆΠΈΠ·Π½ΡΠΠ· ΡΠ΅ΡΠΈΠ°Π»Π° ΠΡΡΡΡΠ΅ ΠΊΠΎΠ·ΡΡΡΠΊΠΈ
Editor Styles
This panel controls stylistic editing options, as described below:
Use Spaces for Tabs
When the tab key is pressed, Simply Fortran normally introduces a true tab character into the text. If this option is enabled, however, an equivalent number of spaces is added rather than the tab character.
If the editor is currently in βMakefileβ mode, i.e. the user is editing a Makefile, this option will be ignored, and true tab characters will be used.
Tab Width
The tab width specifies the size of either the tab character in the editor or the equivalent number of spaces if the Use Spaces for Tabs option is enabled.
getlistboxtext
C int getlistboxtext (index, position, text, text_length)Fortran function getlistboxtext (index position, text)
Description
Retrieves the text for a specified item in a list box. If the text parameter is omitted or is NULL, this function will return the length of the text without a null terminating character. The text parameter must be sized properly to accept the text.
Parameters
Parameter | C Type | Fortran Type | Description |
index | int | integer | The list box of interest |
position | int | integer | The position of the item in the list box |
text | char * | character(*) | The buffer to receive the text contents |
text_length | int | N/A | The length of the text buffer |
Return Value
C intFortran integer
The length of the text at the position, CONTROLS_ERROR if a general error occurred, or CONTROLS_BUFFER_TOO_SMALL if the text buffer is too small.
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Ρ GNU Make
Π Π°Π±ΠΎΡΠ°ΡΡ ΡΒ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ, ΠΊΠΎΠ³Π΄Π° ΡΠ°Π»ΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ, Π½Π΅Β ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠ΄ΠΎΠ±Π½ΠΎ (Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²ΡΠ΅Β ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Π²Β ΠΈΠ»ΠΈ ). ΠΠ°Π΄Π°ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠ±ΠΎΡΠΊΠΈ Π±Π΅ΡΠ΅Ρ Π½Π°Β ΡΠ΅Π±Ρ ΠΈ/ΠΈΠ»ΠΈ ΠΎΠ»Π΄ΡΠΊΡΠ»ΡΠ½Π°Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ -ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ Π½Π°Β ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ· Π»ΡΠ±ΠΈΠΌΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°. ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ , Π²Β ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π²Β ΡΠΎΠΌ, ΡΡΠΎΒ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Π±ΡΠ΄ΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π΅Β Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π°Β ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈΡΡ.
ΠΡΠ»ΠΈ ΡΠΎΡΡΡΠ°Π½ Π±ΡΠ» ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ ΠΈΠ· Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° ΠΈΠ»ΠΈ , ΡΡΠΈΠ»ΠΈΡΠ° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π²Β ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ . ΠΠ»ΡΒ ΠΏΡΠΎΡΡΠΎΡΡ ΡΠΊΠΎΠΏΠΈΡΡΠ΅ΠΌ (ΠΏΡΠΎΠ΄ΡΠ±Π»ΠΈΡΡΠ΅ΠΌ) Π΅Π΅ ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΡΠΎΡΡΠΎ . ΠΒ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π΅ ΠΎΡ ΠΡΠΎ ΠΎΠ½Π° ΡΡΠ°Π·Ρ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ .
ΠΡΠ»ΠΈ Π½Π°Β ΠΌΠ°ΡΠΈΠ½Π΅ ΠΈΠ½ΡΡΠ°Π»Π»ΠΈΡΠΎΠ²Π°Π½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ΅Π΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΌΠΎΠ³ΡΡ ΡΡΠΎΡΡΡ ΠΈΒ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΌΡΠΉΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΏΠΎΒ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π½Π΅Β ΡΠΎΠ²ΡΠ΅ΠΌ ΠΊΒ ΠΌΠ΅ΡΡΡ. Π£Π±Π΅Π΄ΠΈΠΌΡΡ, ΡΡΠΎΒ ΡΠ°ΠΊ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ GNU Make, Π½Π°Π±ΡΠ°Π² . ΠΡΠΎΒ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²ΡΠ΄Π°Π²Π°ΡΡ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
ΠΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΠΈΡΡΡΡΡ Π²Β ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ (Π±Π΅Π· ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ) ΠΈΒ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ Π²Β ΠΏΠ°ΠΏΠΊΠ΅ ΡΒ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠ°ΠΌΠΈ.
-ΡΠ°ΠΉΠ» ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΏΡΠ°Π²ΠΈΠ» ΠΈΒ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ . ΠΡΠ°Π²ΠΈΠ»Π° ΠΈΠΌΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
ΠΡΠ°Π²ΠΈΠ»ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π½Π°Π±ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄, Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊΒ ΡΠ±ΠΎΡΠΊΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²-ΡΠ΅Π»Π΅ΠΉ ΠΈΠ· ΡΠ°ΠΉΠ»ΠΎΠ²-ΡΠ΅ΠΊΠ²ΠΈΠ·ΠΈΡΠΎΠ². ΠΡΠ°Π²ΠΈΠ»ΠΎ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ , ΡΡΠΎΒ ΡΠ°ΠΉΠ»Ρ, ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌΡΠ΅ Π²Β ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ (ΡΠ΅Π»ΠΈ), ΡΠ²Π»ΡΡΡΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌΠΈ ΠΎΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²-ΡΠ΅ΠΊΠ²ΠΈΠ·ΠΈΡΠΎΠ². Π½ΠΈΠΊΠ°ΠΊ Π½Π΅Β ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΈΒ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²-ΡΠ΅ΠΊΠ²ΠΈΠ·ΠΈΡΠΎΠ², ΠΎΠ΄Π½Π°ΠΊΠΎ, ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ²-ΡΠ΅ΠΊΠ²ΠΈΠ·ΠΈΡΠΎΠ² ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»ΡΒ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΠ»ΡΡ Π²Β Π½Π°Π»ΠΈΡΠΈΠΈ ΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΒ Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ.
ΠΡΠΎΡΡΠ΅ΠΉΡΠΈΠΉ Π΄Π»ΡΒ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ (Π½Π°Ρ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ) ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
ΠΠ΄Π΅ΡΡ Π²Π½Π°ΡΠ°Π»Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ , Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠΉ Π·Π°ΡΠ΅ΠΌ Β«Π΄ΠΎΡΠ»ΠΎΠ²Π½ΠΎΒ» ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π²Β ΠΊΠΎΠΌΠ°Π½Π΄ΡΒ β Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ .
ΠΠ°Π»Π΅Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π΄Π²Π΅ ΡΠ΅Π»ΠΈ: ΠΈΒ , Π±Π΅Π·Β ΡΠ΅ΠΊΠ²ΠΈΠ·ΠΈΡΠΎΠ², Π½ΠΎΒ Π·Π°ΡΠΎ ΡΒ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ.
ΠΡΠ»ΠΈ ΠΈΠ· ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π²ΡΠ·Π²Π°ΡΡ
ΡΠΎ ΠΌΠ΅ΠΉΠΊ ΠΎΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ²ΡΡ ΡΠ΅Π»Ρ, Π°Β ΠΈΠΌΠ΅Π½Π½ΠΎΒ β ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅Ρ ΠΈΒ Π·Π°ΠΏΡΡΡΠΈΡ Π½Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠΈΒ ΡΡΠΎΠΌ ΡΠ°ΠΉΠ» ΠΏΠΎΠ΄Ρ Π²Π°ΡΠΈΡΡΡ ΠΏΠΎΒ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΠ΅ΡΠ²ΡΡ ΡΠ΅Π»Ρ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π²Β ΡΠ°ΠΉΠ»Π΅, ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ Π΅ΡΠ΅ ΠΏΡΠΎΡΠ΅, Π½Π°ΠΏΠΈΡΠ°Π² ΠΏΡΠΎΡΡΠΎ
ΠΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΠΉ ΠΌΠ΅ΠΉΠΊ-ΡΠ°ΠΉΠ» ΡΠ²Π½ΠΎ, ΡΠΎΠ³Π΄Π° ΠΎΠ½Β ΠΌΠΎΠΆΠ΅Ρ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ Π½Π°ΠΌ ΡΠ³ΠΎΠ΄Π½ΠΎ:
ΠΠ°ΠΏΡΡΠΊ ΡΒ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ΅Π»ΡΡ, , ΡΠΎΡΡΠ΅Ρ Π²ΡΠ΅Β ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°:
Π’Π΅ΠΏΠ΅ΡΡ ΡΠΎΡΡΠ°Π²ΠΈΠΌ ΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΉ Π΄Π»ΡΒ Π½Π°ΡΠ΅Π³ΠΎ Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΒ ΡΡΠ΅ΠΌΡ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ. ΠΡΠΈΒ ΡΡΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠΈΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π°ΡΠΈΠ°Π½ΡΠ°ΠΌΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΒ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΎΠΏΡΠΈΡΠΌΠΈ, ΠΏΡΡΠ΅ΠΌ ΠΈΡ Β ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ/ΡΠ°ΡΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π²Β ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΏΠ°ΠΏΠΊΡ , ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΠ»ΠΆΠ½Π° Π»Π΅ΠΆΠ°ΡΡ ΡΡΠ΄ΠΎΠΌ ΡΒ ΠΏΠ°ΠΏΠΊΠΎΠΉ Π΄Π»ΡΒ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎΒ Π½Π΅Β Π»ΡΡΡΠΈΠΉ ΡΡΠΈΠ»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ , Π½ΠΎΒ Π΄Π»Ρ ΠΌΠ΅Π½Ρ ΠΎΠ½Β Β«ΡΠΎΠ΄Π½ΠΎΠΉΒ» ΠΈΒ Π½Π°Π³Π»ΡΠ΄Π½ΡΠΉ.
Π Π³Π»Π°Π²Π½ΠΎΠΉ ΡΠ΅Π»ΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ°ΠΉΠ»Π° ΠΌΡ ΡΠΊΠ°Π·Π°Π»ΠΈ ΡΠ΅ΠΊΠ²ΠΈΠ·ΠΈΡ, ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΡΠΉ ΡΒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
Β β ΠΊΠ°ΠΊ Ρ ΠΎΡΠΎΡΠΈΠΉ ΡΠΎΠ»Π΄Π°Ρ, Π»ΡΠ±ΠΎΠΉ ΡΠ΅Π½ΠΎΠΉ (Π½ΠΎ ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠ΅ΠΉ), Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅Π΄ Π½ΠΈΠΌ ΡΠ΅Π»Ρ. ΠΒ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΎΠ½Π° Π²Β ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΏΡΠΈΒ ΡΡΠΎΠΌ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄ ΠΈΡ Β ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ ΡΠ΅ΠΊΠ²ΠΈΠ·ΠΈΡΠ°. ΠΒ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅ΠΊΠ²ΠΈΠ·ΠΈΡΠ° ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ΅Π»ΠΈ ΠΌΡ ΡΠΊΠ°Π·Π°Π»ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ Β«Π΄ΠΎΡΠ΅ΡΠ½Π΅ΠΉΒ» ΡΠ΅Π»ΠΈ, ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π΄Π»ΡΒ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠΏΠΈΡΠ°Π»ΠΈ ΡΠ°ΠΊ:
ΠΠ½ΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ Π½Π°Π»ΠΈΡΠΈΡ Π΅ΡΠ΅ ΡΡΠ΅Ρ ΡΠ΅ΠΊΠ²ΠΈΠ·ΠΈΡΠΎΠ²Β β Π³ΠΎΡΠΎΠ²ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² . ΠΡΠ»ΠΈ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡΡΡΡ, Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΒ ΠΈΡ Β Π»ΠΈΠ½ΠΊΠΎΠ²ΠΊΠ΅ Π²Β .
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Β«ΠΏΠΎΠ΄ΡΡΠ°Π²ΠΈΡΡ ΡΡΠ΄Π° ΡΠ΅ΠΊΡΡΡΡ ΡΠ΅Π»ΡΒ», Π°Β Β β Β«ΠΏΠΎΠ΄ΡΡΠ°Π²ΠΈΡΡ ΡΡΠ΄Π° ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ΅ΠΊΠ²ΠΈΠ·ΠΈΡΒ».
Π¦Π΅Π»ΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΡΒ Π΄Π°Π½Π½ΡΠΌΠΈ ΡΠ΅ΠΊΠ²ΠΈΠ·ΠΈΡΠ°ΠΌΠΈ, ΠΌΡ ΠΎΠΏΠΈΡΠ°Π»ΠΈ ΡΠ°ΠΊ:
ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎΒ Π΄Π»ΡΒ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΠ΅Π»ΠΈ Π½Π°Π΄ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°Π» ΡΠ°ΠΉΠ» , ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π΅Π³ΠΎ Π½Π°Π΄ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π²Β ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΡΠ°ΠΉΠ».
, ΠΊΠ°ΠΊ Π»ΡΠ±ΠΎΠΉ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ Π±ΠΎΠ΅Ρ, ΡΡΠ΅Π·Π²ΡΡΠ°ΠΉΠ½ΠΎ Π»Π΅Π½ΠΈΠ². ΠΡΠ»ΠΈ ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ ΡΠ΅Π»Ρ Π±ΡΠ»Π° ΡΠΆΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π°, ΠΎΠ½Β Π½Π΅Β Π±ΡΠ΄Π΅Ρ ΡΠ²Π°ΡΡΡΡ Π΄ΠΎΡΡΠΈΠ³Π°ΡΡ Π΅Π΅ Π΅ΡΠ΅ ΡΠ°Π·. ΠΡΠ»ΠΈ ΡΒ Π½Π΅Π³ΠΎ ΡΠΆΠ΅ Π΅ΡΡΡ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΡΠ°ΠΉΠ», ΠΎΠ½Β Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π½Π΅Β Π±ΡΠ΄Π΅Ρ. ΠΠΎΒ ΠΎΠ½Β β Π²ΡΠ΅Β ΠΆΠ΅ ΠΎΡΠ΅Π½Ρ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈΒ ΠΏΡΠΈΠ»Π΅ΠΆΠ½ΡΠΉ Π±ΠΎΠ΅Ρ. ΠΡΠ»ΠΈ ΡΠ°ΠΉΠ» ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠ° Π±ΡΠ» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ ΠΏΠΎΠ·ΠΆΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΡΡΠ°ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΎΒ ΠΈΡΠΏΡΠ°Π²ΠΈΡ, ΠΏΠ΅ΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΡΠ½ΠΎΠ²Π°.
ΠΠ΄Π΅ΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΏΡΠ°Π²ΠΊΠΈ ΠΏΠΎΒ GNU Make.
ΠΠ΄Π΅ΡΡΒ β Ρ ΠΎΡΠΎΡΠΈΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» Β«ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ GNU MakeΒ» ΠΎΡ ΠΠ»Π°Π΄ΠΈΠΌΠΈΡΠ° ΠΠ³Π½Π°ΡΠΎΠ²Π°.
Make Options
The final panel provides control over the projectβs Makefile.
Makefile Name
This text box specifies the name of the Makefile to be created and used by Simply Fortran during the build process. This file will be created in the projectβs directory.
Always Regenerate Makefile
By enabling this option, Simply Fortran will regenerate the makefile associated with the current project every time the user initiates the build process . Any user-created changes to a makefile will be destroyed if this option is selected. All dependencies will be updated during every build cycle, however, which is often useful for development projects and eliminates the generate makefile step.
createcheckbox
C int createcheckbox (x, y, width, height, label, callback)Fortran function createcheckbox (x, y, width, height, label, callback)
Description
Creates a check box within a window. The check box is automatically managed; when clicked, the checkbox state is flipped. The label will appear to the right of the actual check box on most systems.
Parameters
Parameter | C Type | Fortran Type | Description |
x | int | integer | Leftmost position of the check box |
y | int | integer | Topmost position of the check box |
width | int | integer | Width of the check box |
height | int | integer | Height of the check box |
label | const char * | character(*) | Text to display on the check box |
callback | void callback( void ) | subroutine callback() | The procedure to call when the check box is clicked |
Appearance
The colors utilized by the editor can be modified by the user. A drop-down box specifies which color component to change, and the Select⦠button opens a selection dialog. Because Simply Fortran features syntax highlighting, the user can configure keywords, comments, and variables to stand out from each other.
The default light and dark theme buttons will set the editor colors to sensible light and dark colors respectively.
Under the colors drop-down, an Import Theme⦠button allows the user to select and import a Visual Studio 2010-2013 color theme.
The font selection dropdown and the associated size text box allows the user to adjust the fonts used in Simply Fortran. The font size may also be increased in real-time within the editor by holding the Control key while moving the mouseβs scroll wheel.
The menu mode option allows the user to switch between themed, custom menus to match the overall Simply Fortran theme and system menus that rely on Windows for management and drawing.
The toolbar button size option can change the size of toolbar buttons throughout Simply Fortran.
C int addmenu (title, parent)Fortran function addmenu (title, parent)
Description
Creates a menu within a window. This routine can be used to create the root menu bar for a window or to add subsequent menus to the windowβs menu bar by properly specifying the parent value.
Parameters
Parameter | C Type | Fortran Type | Description |
label | const char * | character(*) | Text to display in a menu. Unused if the menu being created is the root menu bar for a window. |
parent | int | integer | The parent menu to which to add this menu. If omitted or specified as MENU_FOR_WINDOW, a menu bar will be added. |
Return Value
C intFortran integer
An identifier of the menu. If a root menu is attempted to be added twice, this routine will return the error value MENU_ERROR rather than a menu identifier.
macOS
The gfortran maintainers offer nice Apple-style installers for macOS: https://github.com/fxcoudert/gfortran-for-macOS/releases Detailed instructions can be found here.
Other projects packaging GCC (and gfortran) binaries for Mac include:
-
Homebrew offers the latest stable gfortran release as part of the Β«gccΒ» package.
-
HPC Mac OS X offers GCC builds, which include gfortran
-
MacPorts (package name, e.g., Β«gcc48Β») β the fastest way to get a developer version of GCC. MacPorts comes with a packing software, but all software is compiled before installation. For the developer version, the Β«PortfileΒ» is updated approx. weekly.
-
Fink offers GCC packages (all released versions) β similar to MacPorts, but also offers binaries; it does not have the developer versions, just the releases.
ΠΡΠ°Π²ΠΈΠ»Π° ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΡΡΠΎΠ»Π±ΡΠ°
Fortran 77 Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ·ΡΠΊΠΎΠΌ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ°, Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠ΅Π½Ρ ΡΡΡΠΎΠ³ΠΈΠΉ Π½Π°Π±ΠΎΡ ΠΏΡΠ°Π²ΠΈΠ» Π΄Π»Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΡΠΌΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΠΎΠ»Π±ΡΠΎΠ²:
- Col. 1: Blank ΠΈΠ»ΠΈ Β«cΒ» ΠΈΠ»ΠΈ Β«*Β» Π΄Π»Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π².
- Col. 2-5: ΠΌΠ΅ΡΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°.
- Col. 6: ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ.
- Col. 7-72: ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅.
- Col. 73- 80: ΠΠΎΠΌΠ΅Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
Π‘ΡΡΠΎΠΊΠΎΠΉ Fortran, Π½Π°ΡΠΈΠ½Π°ΡΡΠ΅ΠΉΡΡ Ρ Π±ΡΠΊΠ²Ρ Β«cΒ» ΠΈΠ»ΠΈ Π·Π²Π΅Π·Π΄ΠΎΡΠΊΠΎΠΉ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΡΠΎΠ»Π±ΡΠ΅, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ. ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π² Π»ΡΠ±ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π₯ΠΎΡΠΎΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅, ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡΡ ΡΠ΅ΡΠ°ΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠ΄Ρ Fortran ΡΠ°ΡΡΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΎΠΊΠΎΠ»ΠΎ 50% ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π². Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π²ΠΎΡΠΊΠ»ΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ Π·Π½Π°ΠΊ (!). ΠΡΠΎ ΠΎΡΠ΅Π½Ρ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎ Π² Fortran 77, Π½ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ Π² Fortran 90.
ΠΠΎΡΠΊΠ»ΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ Π·Π½Π°ΠΊ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π² Π»ΡΠ±ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ Π² ΡΡΡΠΎΠΊΠ΅. ΠΠ½ΠΎΠ³Π΄Π° Π·Π°ΡΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π΅ Π²ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ, ΡΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π±ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π½Π° Π΄Π²Π΅ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠΎΠΊ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π·Π½Π°ΠΊ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΡ Π² ΠΏΠΎΠ·ΠΈΡΠΈΠΈ.
ΠΡΠΈΠΌΠ΅Ρ:
- C23456789 β ΡΡΠΎ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ»Π±ΡΠ°.
- Β«CΒ» β ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ Π΄Π²Π΅ ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ Π»ΠΈΠ½ΠΈΠΉ.
- Area = 3.14159265358979+ * r * r.
ΠΡΡΡΡΠ΅ ΠΏΡΠΎΠ±Π΅Π»Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΡΡΡΡΡ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ Β«Π€ΠΎΡΡΡΠ°Π½Π° 77Β». ΠΠΎΡΡΠΎΠΌΡ, Π΅ΡΠ»ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ ΠΏΡΠΎΠ±Π΅Π»Ρ Π² Fortran 77, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π°Ρ, Ρ ΠΎΡΡ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΏΠΎΡΡΠΈ Π½Π΅ΡΠΈΡΠ°Π΅ΠΌΠ°Ρ Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ².
Editor Appearance
Options on this panel control the appearance of the editor (excluding colors and fonts).
Show Vertical Line
Displaying a vertical line is useful for determining when a single line of text is approaching a limit. For example, the Fortran 90 standard dictates that the maximum length of a single line is 132 characters. Enabling this guide can make development easier.
Indentation Guides
Indentation guides are useful in lining up indented text within a Fortran source file. In the case of large loops, for example, where the loop contents are indented, the guide can be used to determine where the dedented loop closing should be place.
Word Wrap
Enabling this option causes lines wider than the editor tab to wrap to the next line. However, this wrapping is performed for display purposes only; it is not reflected in the saved file. When a line does wrap, a small arrow will appear on subsequent display lines to indicate that they are actually continuations of the previous line.
Caret Width
This number specifies the width of the text cursor within the editor tab. This number can be either 1, 2, or 3, with 3 being the thickest.
outtextxy
C void outtextxy (x, y, text)Fortran subroutine outtextxy (x, y, text)
Description
Writes the specified string to the current window at the specified graphics coordinates. This routine will respect new line characters within the string. After this call, the text position will be the text line below the just-drawn text, effectively adding a line feed after output. This routine is identical to calling settextxy followed by outtext with the appropriate parameters.
Parameters
Parameter | C Type | Fortran Type | Description |
x | int | integer | The horizontal coordinate to start drawing text, representing the left-most text position |
y | int | integer | The vertical coordinate to start drawing text, representing the top-most text position |
text | char * | character(*) | The text to output |
Project Objectives
We strive to provide a high quality Fortran compiler that works
well on a variety of native targets. This means:
-
Conformance to Fortran standards, primarily Fortran 95, 2003,
and 2008 -
Performance of executables and computational accuracy
-
Reasonable compile speed and cross compilation capability
-
Good diagnostics and debugging features
-
Legacy code support where practical.
Extensions in GNU Fortran
The initial goal of the GNU Fortran Project was construction of a
Fortran 95 compiler that complies with the ISO Fortran 95 Programming
Language standard [ISO/IEC 1539-1:1997(E)]. We are now well into
F2003 and F2008 features.
The GFortran
wiki and our bug tracker
list features under development or yet to be implemented. Compiler
capability is quite extensive and includes nearly all g77 features.
We highly encourage users to move from g77, which is no longer
maintained, and start taking advantage of GFortranβs modern features.
Legacy g77 code will compile fine in almost all cases.
graphresult
C int graphresult ( )Fortran function graphresult ( )
Return Value
C intFortran integer
Ths return code will always be one of the following values:
Constant | Description |
grOk | No error |
grNoInitGraph | (BGI) graphics not installed (use initgraph) |
grNotDetected | Graphics hardware not detected |
grFileNotFound | Device driver file not found |
grInvalidDriver | Invalid device driver file |
grNoLoadMem | Not enough memory to load driver |
grNoScanMem | Out of memory in scan fill |
grNoFloodMem | Out of memory in flood fill |
grFontNotFound | Font file not found |
grNoFontMem | Not enough memory to load font |
grInvalidMode | Invalid graphics mode for selected driver |
grError | Graphics error |
grIOerror | Graphics I/O error |
grInvalidFont | Invalid font file |
grInvalidFontNum | Invalid font number |
grInvalidDeviceNum | Invalid device number |
grInvalidVersion | Invalid version number |
Linker
This panel provides the user with some basic parameters for the linking step of the build process.
Static Linking
The first group of buttons controls whether the C, C++, and Fortran runtime libraries should be statically linked to the project. It is generally suggested that users select All Static because it eliminates dependencies on DLLs that may or may not be present on the path of the system where the projectβs target will be used.
Build Import Library
This option is only enabled when constructing a shared library. When enabled, an import library will be generated along with the target DLL, which can ease linking the target DLL with other projects. This option is not available on macOS.
Link BLAS and LAPACK Libraries
Enabling this options links the OpenBLAS library included with Simply Fortran with your library or executable. The OpenBLAS library includes optimized versions of Basic Linear Algebra Subprograms (BLAS) and Linear Algebra Package (LAPACK) routines commonly used in Fortran software.