如何在 makefile 中定义变量,然后在 Fortran 代码中使用它

2024-03-26

我试图在 makefile 中定义一个变量,然后根据是否设置了该变量,更改在我的 Fortran 例程中编译的代码块。

简单的例子我无法工作:

program test
    implicit none
    integer :: a
#ifdef MYVAR
    a = 1
#else
    a = 0
#endif
    write(*,*) a
end program test

我的生成文件是:

MYVAR=1
all:
    ifort temp.F90 -fpp
    echo $(MYVAR)

The echo $(MYVAR)行正确地打印 1。但是,当编译测试程序时,它设置 a=0。如何获取 Fortran 代码来识别 MYVAR?


您需要添加一个额外的标志

OPTIONS = -DMYVAR=$(MYVAR)

然后你用它编译它

all:
    ifort $(OPTIONS) <file.f90> -fpp

你应该可以走了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 makefile 中定义变量,然后在 Fortran 代码中使用它 的相关文章

  • dbt 的 dbt_project.yml 文件中的嵌套变量

    下面是我在 dbt project yml 文件中的代码 vars Variable project1 vendor ABC DEF ABC model name model123 case types name CASE1 name CA
  • 如何复制Makefile中的目录?

    我有一个目录images 我想复制到build images 从 Makefile 中 该目录可能包含多个级别的子目录 最优雅的方法是什么 我想 避免每个目录都复制完整的目录make运行 即不cp r 保证一致性 即如果文件在images
  • 将 SQL 变量传递给 ASP

    这里只是有点语法问题 我正在使用 SQL 和 ASP 并且到目前为止有以下代码 set rs Server CreateObject ADODB recordset rs Open Select from Questions conn sq
  • Fortran :: (1) 处 OPEN 语句中存在语法错误

    我试图通过 顽固测试 来测试我的密码算法 http stat fsu edu pub diehard http stat fsu edu pub diehard 我意识到我的输入文件必须是未格式化的直接访问文件 所以我尝试用 Fortran
  • Perl 中的“@_”有什么作用?

    我浏览了一些我在 Perl 类中编写的代码 我注意到了这一点 my string my stringarray split string 我想知道两件事 变量位于括号中的第一行 这是声明多个变量时所做的事情 如果我删除它们 它仍然可以正常工
  • Fortran 正在读取超出结束文件记录的内容

    我正在尝试从文件中读取一些数据 而结束文件记录检测对于停止读取非常重要 但是 根据用于读取数据的数组的数组维度 我无法正确检测结束文件记录 并且我的 Fortran 程序停止 程序如下 integer dimension 3 x line
  • 当我尝试在 PHP 中访问类变量时,类变量为 null

    好吧 这是我的主要代码 require checkpassword php require mysqllogininfo php Validate password if validatePassword GET password retu
  • makefile 中的预构建步骤

    如何运行必须在所有其他 makefile 命令之前执行的脚本 如果没有要构建的内容 则不执行脚本会很好 但不是强制性的 我搜索过 SO 和 Google 但找不到任何东西 我有这个解决方法 myscript bat output is em
  • Fortran DLL 导入

    Fortran 中有一段代码罗伯特 L 帕克和菲利普 B 斯塔克 http www stat berkeley edu 7Estark Code sbvq f FORTRAN subroutine bv key m n a b bl bu
  • 使用 Cygwin64 的 Fortran MPI

    我正在使用 Codeblock IDE 编写和编译我的 Fortran 程序 现在我想将 MPI 包含到我的 GNU Fortran 编译器中 在遵循 GNU GCC 编译器的一些指南之后 我突然想到我需要为 MPICH2 设置以下内容 有
  • 带有数字/标签的 Fortran IF 语句而不是另一个语句

    这段 Fortran 代码的含义是什么 IF J1 3 20 20 21 21 J1 J1 3 20 IF J2 3 22 22 23 23 J2 J2 3 22 CONTINUE 我在旧项目中看到过 我不知道这个带有数字 标签 的 IF
  • Makefile:如何正确包含头文件及其目录?

    我有以下 makefile CC g INC DIR StdCUtil CFLAGS c Wall I INC DIR DEPS split h all Lock o DBC o Trace o o cpp DEPS CC o lt CFL
  • 在 Android 构建系统中包含预构建的静态库

    我需要基于预构建的静态库构建一个共享库 我的 makefile src android external mycode Android mk LOCAL PATH call my dir include CLEAR VARS LOCAL A
  • sed 替换为多行变量[重复]

    这个问题在这里已经有答案了 我正在尝试用跨多行的文本替换单词 我知道我可以简单地使用换行符 n 来解决这个问题 但我想保持字符串 干净 不包含任何不需要的格式 下面的例子显然是行不通的 read r d TEST lt
  • 从 makefile 内部传递命令行参数

    我有一个 makefile 我试图从中调用一个可执行文件 该可执行文件需要 5 个参数 我如何从 makefile 传递这些参数 这样做不起作用 run exe arg1 somevalue arg2 somevalue arg3 some
  • 基于整数创建多个变量

    我想根据我定义的数字创建多个变量 目前 我有一个客户端和一个服务器正在运行 每次客户端加入时 我希望服务器创建一个变量 每个用户都分配有一个号码 list of addr user num 0 recv verf addr server s
  • 用于编译和运行 C++ 的 bash 脚本

    我正在尝试进入 C 但必须使用冗长的命令通过命令行运行东西很烦人 所以我想制作一个 bash 脚本来简化过程并运行这些命令 bin bash if 1 start then cd CCPP cd HelloWorld g Wall W We
  • 如何从 Fortran 调用 R 函数?

    根据http gallery rcpp org articles r function from c http gallery rcpp org articles r function from c Rcpp 允许用户从 C 调用 R 函数
  • JavaScript推送函数中的动态变量

    我在 JavaScript 中使用推送功能 var chartData for var i 0 i lt 3 i chartData push date new Date year s mon s date s hr s min s sec
  • 使用 Makefile 项目在 Visual Studio 中自定义调试命令

    我在 Visual Studio 2010 中有一个由 Makefile 支持的项目 实际上使用 NAnt 但这不是重点 构建过程的输出是一个 elf 文件 我有一个单独的非 VStudio 调试器 可以在该 elf 文件上运行来调试它 构

随机推荐

  • CSS水平滚动

    我正在尝试创建一个 div 包含一系列只能水平滚动的照片 它应该看起来像这样LINK http cssdesk com L6Dsa 然而 上述只能通过指定宽度来实现 div 其中包含照片 因此它们不会 自动换行 如果我不设置宽度 它看起来像
  • Flask 在哪里寻找图像文件?

    我正在使用 Flask 设置本地服务器 我当前想要做的就是使用index html 页面中的img 标签显示图像 但我不断得到error GET http localhost 5000 ayrton senna movie wallpape
  • 无法解析 Android 上的 MapActivity 类

    我有一个包含 11 种不同活动的应用程序 这些活动之一是 MapActivity 的扩展 它是用于数据可视化的地图 要进入此活动 用户必须首先完成启动活动 然后完成其他 3 个活动 启动MapActivity的代码是 Intent i ne
  • 自定义对话框太小

    我有一个实现自定义对话框的 Android 活动 应用程序运行正常 但对话框太小 我想显示更大的对话框 我怎样才能实现这一点 这是我的布局 xml
  • 在 system() 函数中使用变量 C++

    string line ifstream myfile aaa txt getline myfile line system curl exe b cookie txt d test line http example com http e
  • 如何清除node js中清除浏览器cookie的req.session?

    我在用 express 4 14 0 with express session用于保存用户名 用户登录后 我会将用户名保存在req session authorizedUser username将其显示在应用程序标题中 当浏览器历史记录被清
  • Vim 中的任务标签

    关于任务标签的两个问题 Vim 中还提供哪些其他任务标签 例如 TODO 有没有办法像 Eclipse IDE 一样制作自定义任务标签 对于自定义标签 我在 vimrc 中使用以下内容 您应该能够根据您的需要进行调整 if has auto
  • 跨平台上的 AES cbc 填充加密/解密(.net c# 和代号 one bouncy castle)

    加密 解密不能在跨平台上工作 我已使用此链接使用代号一内的充气城堡 AES 密码来加密 解密文本 J2ME 中使用 Bouncycastle 进行 AES 加密 解密的示例 https stackoverflow com questions
  • 从 C# winforms 应用程序将输出写入控制台[重复]

    这个问题在这里已经有答案了 可能的重复 如何在表单应用程序中显示控制台输出 窗口 https stackoverflow com questions 4362111 how do i show console output window i
  • 如何追踪 Ruby 代码中的内存泄漏?

    Question 我正在调试 rake 任务中的内存泄漏 我想查看以下调用堆栈 有生命的物体 最初分配这些对象的对象或行是什么 ruby prof 可以做到这一点吗 如果没有 我应该使用什么工具 Setup Gems 导轨 3 2 16 事
  • 在 Swift 中使用 UIAlertController 发生内存泄漏

    我使用这个简单的代码呈现一个简单的 UIViewController IBAction func addNewFeed sender UIBarButtonItem var alertView UIAlertController UIAle
  • 使用 JAR 加载 log4j.properties [重复]

    这个问题在这里已经有答案了 我有一个包含以下清单的 jar 文件 Manifest Version 1 0 Created By 1 7 0 07 Oracle Corporation Main Class test Main Class
  • Sklearn.KMeans:如何避免内存或值错误?

    我正在研究图像分类问题 并且正在创建一个词袋模型 为此 我提取了所有图像的 SIFT 描述符 并且必须使用 KMeans 算法来找到用作我的词袋的中心 这是我拥有的数据 图片数量 1584 SIFT 描述符的数量 32 个元素的向量 571
  • JAXB-XJC X属性访问器

    根据 JAXB 规范http jaxb java net 2 2 4 docs xjc html http jaxb java net 2 2 4 docs xjc html如果您想运行 JAXB XJC 编译器 您可能传递的扩展 参数之一
  • OpsHub VSO 迁移 - DataValidationException - 测试套件已存在

    在 OpsHub 从本地 TFS 2013 3 服务器迁移到 VSO 期间 我收到来自 OpsHub 的错误消息 com opshub exceptions DataValidationException OpbsHug 012017 名称
  • 从转义 ASCII 序列中读取 UTF8/UNICODE 字符

    我的文件中有以下名称 我需要将该字符串读取为 UTF8 编码的字符串 因此 test 303 246 303 270 303 245 txt 我需要获得以下信息 test txt 你知道如何使用 C 来实现这一点吗 假设你有这个字符串 st
  • 将输入传递到批处理文件中的程序提示符

    我正在使用 mpich2 并行运行模拟 我的工作站有相当严格的安全措施 每次运行模拟时都必须使用新密码进行注册 我必须输入 mpiexec register 然后提示我输入用户名 然后提示我输入密码 不幸的是 似乎没有办法在一行上将用户 通
  • 通过 Javascript 返回视图 MVC3 Razor 将值传递给控制器

    我是 MVC 的新手 我试图将使用地理位置获得的经度和纬度值传递给我的控制器 以便我可以使用这些值来识别并从数据库中提取正确的数据 这是我的 JavaScript function auto locate alert called from
  • 如何应用圆角边框来突出显示/选择

    我用过视觉工作室在线 http visualstudio com对于一个项目来说有一段时间 他们将圆形边框应用于在线代码查看器中的选择的方式非常有趣 我尝试检查该元素并寻找某种自定义 CSS 但没有成功 我有一种感觉 这需要一些复杂的 技巧
  • 如何在 makefile 中定义变量,然后在 Fortran 代码中使用它

    我试图在 makefile 中定义一个变量 然后根据是否设置了该变量 更改在我的 Fortran 例程中编译的代码块 简单的例子我无法工作 program test implicit none integer a ifdef MYVAR a