如何查找gfortran intrinsic function尤其是位操作函数的源代码
gfortran位操作内置函数源码获取方法
核心说明
你之前找到的是gfortran前端的接口声明文件,这类内置函数的实现不会放在普通的Fortran头文件中,属于GCC编译器源码的组成部分,具体查看方式如下:
- 源码存放路径
位操作函数的实现分两部分:- 函数映射与解析逻辑:存放在GCC源码的
gcc/fortran/目录下,intrinsic.c、intrinsic.h等文件负责将Fortran内置函数映射到对应的底层实现 - 实际执行逻辑:绝大多数位操作属于编译器会直接转换为CPU原生指令的轻量操作,x86架构下的指令生成逻辑在
gcc/config/i386/目录下的对应文件中;少数通用实现的函数可以在libgfortran库的源码目录中找到
- 函数映射与解析逻辑:存放在GCC源码的
- 本地查看操作步骤
- 先确认你当前使用的gfortran版本:打开CodeBlocks自带的终端,执行
gfortran --version即可获取版本号 - 下载对应版本的GCC源码压缩包,解压后按照上面的路径查找对应文件即可
- 先确认你当前使用的gfortran版本:打开CodeBlocks自带的终端,执行
- 快速理解运行原理的补充方法
可以给你的测试代码添加-S编译参数,gfortran会直接输出对应的汇编代码,你可以直观看到位操作函数最终被转换成的CPU指令,更方便理解运行逻辑
内容的提问来源于stack exchange,提问作者Julian Samuel
相关产品推荐
相关产品推荐

