fortran 函数的调用标准
Fortran函数的调用标准在编译时使用iface声明。如iface:default。表示採用的是default标准。
fortran的调用标准有
[1] default: Tells the compiler to use the default calling conventions.
[2] cref: Tells the compiler to use calling conventions C, REFERENCE.
[3] cvf:Tells the compiler to use calling convention CVF.
[4] [no]mixed_str_len_arg Determines the argument-passing convention for hidden-length character arguments.
[5] stdcall Tells the compiler to use calling convention STDCALL.
[6] stdref Tells the compiler to use calling conventions STDCALL, REFERENCE.
这里我介绍一下我遇到的default和mixed_str_len_arg标准对函数调用中的character类型的影响。
fortran 中的character类型相当于c语言中的char[] ,在函数调用中使用character參数,编译器会默认
地为该參数加入一个长度的參数,
如 character(len=10) name
interger catet
call fortran_fun(name,catet)
此时。实际传入的參数有3个:name , len(name),catet
假设使用default调用标准,在參数压栈时会将其len(name)最后压入,(如有多个character參数。则在最后按顺序压入)
而使用mixed_str_len_arg调用标准时,在參数压栈时。会将len(name)紧跟在name后面压人栈中
所以假设调用函数与函数有不同的调用标准时,就会出现mismatch。
相关文章
- 阿里云携手微软与 Crossplane 社区发布 OAM Kubernetes 标准实现与核心依赖库
- Python标准库-string模块《未完待续》
- 便携烙铁开源系统IronOS,支持多款便携DC, QC, PD供电烙铁,支持所有智能烙铁标准功能
- SAP Spartacus里的标准Banner设计
- 如何创建HTML Mashup并插入到SAP Cloud for Customer标准页面里
- Product Archive相关的标准function module
- [转]手机游戏六大渠道评测标准大合集
- Atitit 提升效率 界面gui方面的前后端分离与cbb体系建设 规范与推荐标准
- ML:MLOps系列讲解之《CRISP-ML (Q)ML生命周期过程—了解机器学习开发的标准过程模型—业务和数据理解→数据工程(数据准备)→ML模型工程→评估ML模型→模型部署→模型监控和维护》解读
- m对比PSO,WPA,GWPA以及GWO四种优化算法的优化性能,优化目标函数为10个来自CEC2017的标准测试函数
- Python标准库:内置函数dict(iterable, **kwarg)
- Java练习 标准输入,输出,以及switch判断
- 标准C语言实现基于TCP/IP协议的文件传输
- NLP模型笔记2022-10:nlp句法分析模型评价标准UAS/LAS
- Python标准库:内置函数complex([real[, imag]])
- Python标准库:内置函数ascii(object)
- Python标准库:内置函数frozenset([iterable])
- Python标准库:内置函数issubclass(class, classinfo)
- Python标准库:内置函数filter(function, iterable)
- Python标准库:内置函数input([prompt])
- Python标准库:内置函数int(x, base=10)
- Python标准库:内置函数repr(object)
- Python标准库:内置函数staticmethod(function)
- Python标准库:内置函数str(object='') str(object=b'', encoding='utf-8', errors='strict')
- 设置VS2019 支持C++17标准
- Go fmt包中 Scan获取标准输入
- 企业里没有TPM(可信赖平台模块)标准的安全芯片计算机,如何开启BitLocker锁定磁盘,如何备份系统,当系统出现问题又如何恢复,快速恢复又兼顾系统安全