24小时热门版块排行榜    

查看: 2478  |  回复: 9

wdlx

铁虫 (初入文坛)

[求助] fortran和c混合编译问题?

哪位大侠在Microsoft Visual Studio2010下面使用过fortran和c混合编译吗,就是用fortran程序调用c的函数。谢谢1
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhidaosc

木虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
很简单,单你提的问题太笼统,你最好详细说一下你要做什么

[ 发自小木虫客户端 ]
2楼2013-10-10 05:55:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

virtualzx

木虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
正常调用就可以了呀,和调用另一个文件里的fortran函数没两样
3楼2013-10-10 08:18:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wdlx

铁虫 (初入文坛)

引用回帖:
2楼: Originally posted by zhidaosc at 2013-10-10 05:55:24
很简单,单你提的问题太笼统,你最好详细说一下你要做什么

你好,比如说
在ppp.f90文件里内容如下:
program main
call ppp()
end
在ppp1.c文件里内容如下:
#include<stdio.h>
void ppp()
{
printf("keyi diaoyong c hanshu \n";
}

就是fortran调用c的函数,不知道怎么用,谢谢!
4楼2013-10-10 13:23:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhidaosc

木虫 (正式写手)

【答案】应助回帖

这个好吧,2种办法:1)利用动态链接库,C写一个动态库,把函数原型和lib库文件给fortran,调用;或者动态加载,利用loadlibrary函数,2)混合语言编程,需要编译器支持。
你google一下就知道如何做了。
5楼2013-10-10 13:32:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wdlx

铁虫 (初入文坛)

引用回帖:
3楼: Originally posted by virtualzx at 2013-10-10 08:18:04
正常调用就可以了呀,和调用另一个文件里的fortran函数没两样

你好 调用会出现如下错误
error LNK2019: 无法解析的外部符号 _PPP,该符号在函数 _MAIN__ 中被引用

其中 ppp是c的函数,如果改为fortran函数,则不会出现错误。
6楼2013-10-10 13:42:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

virtualzx

木虫 (著名写手)

【答案】应助回帖

引用回帖:
4楼: Originally posted by wdlx at 2013-10-10 00:23:17
你好,比如说
在ppp.f90文件里内容如下:
program main
call ppp()
end
在ppp1.c文件里内容如下:
#include<stdio.h>
void ppp()
{
printf("keyi diaoyong c hanshu \n";
}

就是 ...

你用的什么编译器?ifort的话加上-assume nounderscore
7楼2013-10-11 07:28:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

heyzol

金虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
我觉得最好不要混合编程,调用和数据类型非常容易出错,直接调用exe还是比较好的
小木虫:沙发+99,金币+99,恭喜抢个沙发,再给个红包
8楼2013-10-11 13:51:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wdlx

铁虫 (初入文坛)

引用回帖:
7楼: Originally posted by virtualzx at 2013-10-11 07:28:28
你用的什么编译器?ifort的话加上-assume nounderscore...

你好 我用的是vs2010编译器 intel fortran
9楼2013-10-12 23:05:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

virtualzx

木虫 (著名写手)

【答案】应助回帖

引用回帖:
9楼: Originally posted by wdlx at 2013-10-12 10:05:37
你好 我用的是vs2010编译器 intel fortran...

如果你代码都写完了,最快的办法是尝试在编译选项里加入/assume:nounderscore和/Qlowercase
最容易错的一点是fortran的子函数调用所有参数都是按地址传递,所以定义c函数要确保不能按值传递,全部变量都按指针定义

如果你还没有开始写程序,更加安全的办法是用fortran2003的ISO_C_BINDING
10楼2013-10-13 02:43:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 wdlx 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 zSbvVX9JFl9J 2026-11-09 3/150 2026-11-09 21:05 by FChKX8meu1ds
[考博] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +5 kvewwGtKktqB 2026-11-04 12/600 2026-11-09 13:26 by Equinoxhua
[考研] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +5 ttH3f1oA6ace 2026-11-04 15/750 2026-11-09 13:19 by Equinoxhua
[考研] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +6 5sJFDKp2kwuI 2026-11-06 14/700 2026-11-09 11:52 by GwrQVVR6Oenx
[硕博家园] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +5 5sJFDKp2kwuI 2026-11-06 16/800 2026-11-09 11:47 by GwrQVVR6Oenx
[考博] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +5 5sJFDKp2kwuI 2026-11-06 15/750 2026-11-09 11:41 by GwrQVVR6Oenx
[硕博家园] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +4 5sJFDKp2kwuI 2026-11-06 10/500 2026-11-09 08:00 by IhnEQauGmT3K
[考研] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 5sJFDKp2kwuI 2026-11-06 12/600 2026-11-09 06:32 by l48hFd8Nwae2
[公派出国] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +4 5sJFDKp2kwuI 2026-11-06 8/400 2026-11-09 00:14 by l48hFd8Nwae2
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +4 5sJFDKp2kwuI 2026-11-06 8/400 2026-11-08 23:01 by l48hFd8Nwae2
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +5 5sJFDKp2kwuI 2026-11-06 9/450 2026-11-08 22:46 by l48hFd8Nwae2
[教师之家] 延安大学回应“副教授留绝笔信”:确已离世,正核实举报内容 +3 yexuqing 2026-11-04 5/250 2026-11-07 13:22 by 苏东坡二世
[公派出国] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +5 ttH3f1oA6ace 2026-11-04 10/500 2026-11-06 16:12 by 5sJFDKp2kwuI
[硕博家园] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +4 ttH3f1oA6ace 2026-11-04 11/550 2026-11-06 16:10 by 5sJFDKp2kwuI
[公派出国] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +6 ttH3f1oA6ace 2026-11-04 12/600 2026-11-06 16:10 by 5sJFDKp2kwuI
[公派出国] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +5 kvewwGtKktqB 2026-11-04 14/700 2026-11-06 05:10 by qL1cU46YIdK0
[硕博家园] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +6 kvewwGtKktqB 2026-11-04 16/800 2026-11-06 05:00 by qL1cU46YIdK0
[考研] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +4 ttH3f1oA6ace 2026-11-04 10/500 2026-11-06 02:04 by qL1cU46YIdK0
[硕博家园] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 ttH3f1oA6ace 2026-11-04 9/450 2026-11-06 02:02 by qL1cU46YIdK0
[硕博家园] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +4 hNpp4Y2CGvSC 2026-11-04 12/600 2026-11-06 01:53 by qL1cU46YIdK0
信息提示
请填处理意见