📄 g77.texi
字号:
Public License instead of this License.@node Contributors@unnumbered Contributors to GNU Fortran@cindex contributors@cindex creditsIn addition to James Craig Burley, who wrote the front end,many people have helped create and improve GNU Fortran.@itemize @bullet@itemThe packaging and compiler portions of GNU Fortran are based largelyon the GNU CC compiler.@xref{Contributors,,Contributors to GNU CC,gcc,Using and Porting GNU CC},for more information.@itemThe run-time library used by GNU Fortran is a repackaged versionof the @code{libf2c} library (combined from the @code{libF77} and@code{libI77} libraries) provided as part of @code{f2c}, available forfree from @code{netlib} sites on the Internet.@itemCygnus Support and The Free Software Foundation contributedsignificant money and/or equipment to Craig's efforts.@itemThe following individuals served as alpha testers prior to @code{g77}'spublic release. This work consisted of testing, researching, sometimesdebugging, and occasionally providing small amounts of code and fixesfor @code{g77}, plus offering plenty of helpful advice to Craig:@itemize @w{}@itemJonathan Corbet@itemDr.@: Mark Fernyhough@itemTakafumi Hayashi (The University of Aizu)---@email{takafumi@@u-aizu.ac.jp}@itemKate Hedstrom@itemMichel Kern (INRIA and Rice University)---@email{Michel.Kern@@inria.fr}@itemDr.@: A. O. V. Le Blanc@itemDave Love@itemRick Lutowski@itemToon Moene@itemRick Niles@itemDerk Reefman@itemWayne K. Schroll@itemBill Thorson@itemPedro A. M. Vazquez@itemIan Watson@end itemize@itemScott Snyder (@email{snyder@@d0sgif.fnal.gov})provided the patch to add rudimentary supportfor @code{INTEGER*1}, @code{INTEGER*2}, and@code{LOGICAL*1}.This inspired Craig to add further support,even though the resulting supportwould still be incomplete, because version 0.6 is stilla ways off.@itemDavid Ronis (@email{ronis@@onsager.chem.mcgill.ca}) inspiredand encouraged Craig to rewrite the documentation in texinfoformat by contributing a first pass at a translation of theold @file{g77-0.5.16/f/DOC} file.@itemToon Moene (@email{toon@@moene.indiv.nluug.nl}) performedsome analysis of generated code as part of an overall projectto improve @code{g77} code generation to at least be as goodas @code{f2c} used in conjunction with @code{gcc}.So far, this has resulted in the three, somewhatexperimental, options added by @code{g77} to the @code{gcc}compiler and its back end.(These, in turn, have made their way into the @code{egcs}version of the compiler, and do not exist in @code{gcc}version 2.8 or versions of @code{g77} based on that versionof @code{gcc}.)@itemJohn Carr (@email{jfc@@mit.edu}) wrote the alias analysis improvements.@itemThanks to Mary Cortani and the staff at Craftwork Solutions(@email{support@@craftwork.com}) for all of their support.@itemMany other individuals have helped debug, test, and improve @code{g77}over the past several years, and undoubtedly more peoplewill be doing so in the future.If you have done so, and would liketo see your name listed in the above list, please ask!The default is that people wish to remain anonymous.@end itemize@node Funding@chapter Funding Free SoftwareIf you want to have more free software a few years from now, it makessense for you to help encourage people to contribute funds for itsdevelopment. The most effective approach known is to encouragecommercial redistributors to donate.Users of free software systems can boost the pace of development byencouraging for-a-fee distributors to donate part of their selling priceto free software developers---the Free Software Foundation, and others.The way to convince distributors to do this is to demand it and expectit from them. So when you compare distributors, judge them partly byhow much they give to free software development. Show distributorsthey must compete to be the one who gives the most.To make this approach work, you must insist on numbers that you cancompare, such as, ``We will donate ten dollars to the Frobnitz projectfor each disk sold.'' Don't be satisfied with a vague promise, such as``A portion of the profits are donated,'' since it doesn't give a basisfor comparison.Even a precise fraction ``of the profits from this disk'' is not verymeaningful, since creative accounting and unrelated business decisionscan greatly alter what fraction of the sales price counts as profit.If the price you pay is $50, ten percent of the profit is probablyless than a dollar; it might be a few cents, or nothing at all.Some redistributors do development work themselves. This is useful too;but to keep everyone honest, you need to inquire how much they do, andwhat kind. Some kinds of development make much more long-termdifference than others. For example, maintaining a separate version ofa program contributes very little; maintaining the standard version of aprogram for the whole community contributes much. Easy new portscontribute little, since someone else would surely do them; difficultports such as adding a new CPU to the GNU C compiler contribute more;major new features or packages contribute the most.By establishing the idea that supporting further development is ``theproper thing to do'' when distributing free software for a fee, we canassure a steady flow of resources into making more free software.@displayCopyright (C) 1994 Free Software Foundation, Inc.Verbatim copying and redistribution of this section is permittedwithout royalty; alteration is not permitted.@end display@node Funding GNU Fortran@chapter Funding GNU Fortran@cindex funding improvements@cindex improvements, fundingWork on GNU Fortran is still being done mostly by its author,James Craig Burley (@email{@value{email-burley}}), who is a volunteerfor, not an employee of, the Free Software Foundation (FSF).(He has a web page at @uref{@value{www-burley}}.)As with other GNU software, funding is important because it can pay forneeded equipment, personnel, and so on.@cindex FSF, funding the@cindex funding the FSFThe FSF provides information on the best way to fund ongoingdevelopment of GNU software (such as GNU Fortran) in documentssuch as the ``GNUS Bulletin''.Email @email{gnu@@gnu.org} for information on funding the FSF.To fund specific GNU Fortran work in particular, the FSF mightprovide a means for that, but the FSF does not provide direct fundingto the author of GNU Fortran to continue his work. The FSF hasemployee salary restrictions that can be incompatible with thefinancial needs of some volunteers, who therefore choose toremain volunteers and thus be able to be free to do contract workand otherwise make their own schedules for doing GNU work.Still, funding the FSF at least indirectly benefits workon specific projects like GNU Fortran because it ensures thecontinuing operation of the FSF offices, their workstations, theirnetwork connections, and so on, which are invaluable to volunteers.(Similarly, hiring Cygnus Support can help a project like GNUFortran---Cygnus has been a long-time donor of equipment usage to the authorof GNU Fortran, and this too has been invaluable---see @ref{Contributors}.)Currently, the only way to directly fund the author of GNU Fortranin his work on that project is to hire him for the work you wanthim to do, or donate money to him.Several people have done thisalready, with the result that he has not needed to immediately findcontract work on a few occasions.If more people did this, hewould be able to plan on not doing contract work for many months andcould thus devote that time to work on projects (such as the plannedchanges for 0.6) that require longer timeframes to complete.For the latest information on the status of the author, do@kbd{finger -l burley@@gnu.org} on a UNIX system(or any system with a command like UNIX @code{finger}).Another important way to support work on GNU Fortran is to volunteerto help out.Work is needed on documentation, testing, portingto various machines, and in some cases, coding (although majorchanges planned for version 0.6 make it difficult to add manpower to thisarea).Email @email{@value{email-general}} to volunteer for this work.@xref{Funding,,Funding Free Software}, for more information.@node Look and Feel@chapter Protect Your Freedom---Fight ``Look And Feel''@c the above chapter heading overflows onto the next line. --mew 1/26/93To preserve the ability to write free software, including replacementsfor proprietary software, authors must be free to replicate theuser interface to which users of existing software have becomeaccustomed.@xref{Look and Feel,,Protect Your Freedom---Fight ``Look And Feel'',gcc,Using and Porting GNU CC}, for more information.@node Getting Started@chapter Getting Started@cindex getting started@cindex new users@cindex newbies@cindex beginnersIf you don't need help getting started reading the portionsof this manual that are most important to you, you should skipthis portion of the manual.If you are new to compilers, especially Fortran compilers, ornew to how compilers are structured under UNIX and UNIX-likesystems, you'll want to see @ref{What is GNU Fortran?}.If you are new to GNU compilers, or have used only one GNUcompiler in the past and not had to delve into how it letsyou manage various versions and configurations of @code{gcc},you should see @ref{G77 and GCC}.Everyone except experienced @code{g77} users shouldsee @ref{Invoking G77}.If you're acquainted with previous versions of @code{g77},you should see @ref{News,,News About GNU Fortran}.Further, if you've actually used previous versions of @code{g77},especially if you've written or modified Fortran code tobe compiled by previous versions of @code{g77}, youshould see @ref{Changes}.If you intend to write or otherwise compile code that isnot already strictly conforming ANSI FORTRAN 77---and thisis probably everyone---you should see @ref{Language}.If you don't already have @code{g77} installed on yoursystem, you must see @ref{Installation}.If you run into trouble getting Fortran code to compile,link, run, or work properly, you might find answersif you see @ref{Debugging and Interfacing},see @ref{Collected Fortran Wisdom},and see @ref{Trouble}.You might also find that the problems you are encounteringare bugs in @code{g77}---see @ref{Bugs}, for information onreporting them, after reading the other material.If you need further help with @code{g77}, or withfreely redistributable software in general,see @ref{Service}.If you would like to help the @code{g77} project,see @ref{Funding GNU Fortran}, for information onhelping financially, and see @ref{Projects}, for informationon helping in other ways.If you're generally curious about the future of@code{g77}, see @ref{Projects}.If you're curious about its past,see @ref{Contributors},and see @ref{Funding GNU Fortran}.To see a few of the questions maintainers of @code{g77} have,and that you might be able to answer,see @ref{Open Questions}.@ifset USING@node What is GNU Fortran?@chapter What is GNU Fortran?@cindex concepts, basic@cindex basic conceptsGNU Fortran, or @code{g77}, is designed initially as a free replacementfor, or alternative to, the UNIX @code{f77} command.(Similarly, @code{gcc} is designed as a replacementfor the UNIX @code{cc} command.)@code{g77} also is designed to fit in well with the otherfine GNU compilers and tools.Sometimes these design goals conflict---in such cases, resolutionoften is made in favor of fitting in well with Project GNU.These cases are usually identified in the appropriatesections of this manual.@cindex compilersAs compilers, @code{g77}, @code{gcc}, and @code{f77}share the following characteristics:@itemize @bullet@cindex source code@cindex file, source@cindex code, source@cindex source file@itemThey read a user's program, stored in a file andcontaining instructions written in the appropriatelanguage (Fortran, C, and so on).This file contains @dfn{source code}.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -