Fortran Coder

查看: 8310|回复: 4
打印 上一主题 下一主题

[混编] C++调用fortran生成的dll文件的问题求助

[复制链接]

3

帖子

1

主题

0

精华

新人

F 币
22 元
贡献
7 点
跳转到指定楼层
楼主
发表于 2017-2-6 10:54:23 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式
C++主程序代码以及待调用的fortran代码都在图1中所示,步骤为:首先生成fortran代码对应的TEST.dll和TEST.lib文件;加入到C++的工程中;编译总是出现图中的错误,请教各位这是什么原因
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

3

帖子

1

主题

0

精华

新人

F 币
22 元
贡献
7 点
沙发
 楼主| 发表于 2017-2-6 13:17:19 | 显示全部楼层
C++源代码如下:
[C++] 纯文本查看 复制代码
#include <stdio.h>
#include <windows.h>
#include <iostream>
#include <msclr\marshal_cppstd.h>
#include "float.h"
#include <string>
#include <math.h>
#include <cstring>
#include <vector>
#include <istream>
#include <fstream>

using namespace msclr::interop;
using namespace std;

extern "C" {

        void __stdcall GETSTRING( char *A,
                int LEN);

}

void main()
{
        char STR[]="hello";
        GETSTRING(STR,strlen(STR));
        return;
}

fortran代码如下:
[Fortran] 纯文本查看 复制代码
subroutine getstring(a)
      
      !DEC$ IF DEFINED (_DLL)
        !DEC$ ATTRIBUTES DLLEXPORT ::GETSTRING
        !DEC$ END IF 
      
      implicit none
      character(len=*)::a
      write(*,*)a
      return
      end subroutine

fortran编译器为Intel Parallel Studio XE 2013,  C++编译器为VS2012

3

帖子

1

主题

0

精华

新人

F 币
22 元
贡献
7 点
板凳
 楼主| 发表于 2017-2-6 15:53:57 | 显示全部楼层
有没有可能是fortran编译器版本的问题呢?
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-7 05:06

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表