f77与gfortran在external symbol(外部符号)上的区别,注意下划线

今天先简单写一下,以后完善一篇C-fortran互相调用要注意的要点 ^_^

!!!实验平台 CentOS 5.3

如果.f文件中的函数名称都不含有下划线“_”,f77与gfortran编译出的.o文件中,导出的外部符号是相同的,可以用nm命令查看。

例:add.f

subroutine add(a, b, sum)
……

$ f77 -c add.f
$ nm add.o
00... T add_
……

如果.f文件中的函数含有下划线,两种编译器的处理是不同的,f77编译出的函数名称会添加两条下划线!!!而gfortran仍然只添加一条下划线做后缀。

subroutine add_1(a, b, sum)
……

$ f77 -c add.f
$ nm add.o
00... T add_1__
……
$ gfortran -c add.f
$ nm add.o
00... T add_1_
……

如果使用mpif77的编译器,则要注意编译mpi的时候使用的是哪种fortran编译器。使用mpif77 -dumpversion查看。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值