首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在构建Fortran时,“Fortran*”变量的目的是什么?

在构建Fortran时,“Fortran*”变量的目的是什么?
EN

Stack Overflow用户
提问于 2015-04-27 15:27:58
回答 1查看 120关注 0票数 4

FORTRAN*变量在Scons中的用途是什么?该手册将它们描述为所有Fortran版本的默认设置。但据我所知,在实践中它们从未被使用,因为不同的Fortran方言的具体变量总是优先使用(F77*F90*F95*)。

是否有一种方法可以将映射从文件扩展名更改为Fortran方言,以便将某些文件映射到默认值?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-27 20:26:50

从SCons源代码(特别是Tool/FortranCommon.py)来看,FORTRANF77F90F95F03一起被视为方言,而不是所有这些语言的父语言。看起来变量的FORTRAN变体将用于使用.f.for.ftn.fpp.FPP命名的源文件,尽管它们可以从变量FORTRANFILESUFFIXESFORTRANPPFILESUFFIXES中重写。

设置这些的代码是:

代码语言:javascript
复制
def add_fortran_to_env(env):
    """Add Builders and construction variables for Fortran to an Environment."""
    try:
        FortranSuffixes = env['FORTRANFILESUFFIXES']
    except KeyError:
        FortranSuffixes = ['.f', '.for', '.ftn']

    #print "Adding %s to fortran suffixes" % FortranSuffixes
    try:
        FortranPPSuffixes = env['FORTRANPPFILESUFFIXES']
    except KeyError:
        FortranPPSuffixes = ['.fpp', '.FPP']

    DialectAddToEnv(env, "FORTRAN", FortranSuffixes,
                    FortranPPSuffixes, support_module = 1)

其中,DialectAddToEnv向Fortran构建变量提供值,例如(dialect是传递给函数的第二个变量):

代码语言:javascript
复制
 env['%sCOM' % dialect]     = '$%s -o $TARGET -c $%sFLAGS $_%sINCFLAGS $_FORTRANMODFLAG $SOURCES' % (dialect, dialect, dialect)

设置F77F90F95等的代码非常类似,例如:

代码语言:javascript
复制
def add_f90_to_env(env):
    """Add Builders and construction variables for f90 to an Environment."""
    try:
        F90Suffixes = env['F90FILESUFFIXES']
    except KeyError:
        F90Suffixes = ['.f90']

    #print "Adding %s to f90 suffixes" % F90Suffixes
    try:
        F90PPSuffixes = env['F90PPFILESUFFIXES']
    except KeyError:
        F90PPSuffixes = []

    DialectAddToEnv(env, "F90", F90Suffixes, F90PPSuffixes,
                    support_module = 1)

没有从一种方言倒退到FORTRAN的机制。每个方言(包括FORTRAN)都是独立的,并与文件名结尾映射,这是可配置的。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29899861

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档