Fortran Coder

查看: 314|回复: 9

[编译器] 怎么在调用dll的时候不添加lib呢?

[复制链接]

65

帖子

16

主题

0

精华

专家

F 币
448 元
贡献
269 点
发表于 2017-4-14 10:09:22 | 显示全部楼层 |阅读模式
[Fortran] 纯文本查看 复制代码
module dll
    contains
    subroutine prin(rr)
    !DEC$ ATTRIBUTES DLLEXPORT,ALIAS:"PRIN"::PRIN
    implicit none
    integer:: rr
    rr=3+4
    write(*,*)"i am eric.wu"
    end subroutine
    end module


program YUI
    use dll
    implicit none
    INTEGER:: TT
    call prin(TT)
    end program


版主,怎么才能不再工程里面添加lib呢?网上的视频看了 但是还是没有看懂  我在属性里面也添加了 dll的生成的目录 捕获.PNG

捕获.PNG
回复

使用道具 举报

1138

帖子

12

主题

5

精华

论坛跑堂

Fcode跑堂

F 币
1065 元
贡献
863 点

新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

发表于 2017-4-14 10:26:18 | 显示全部楼层
1. 可以用 IVF 的扩展写法
!DEC$ OBJCOMMENT LIB: "DLL_Fortran.lib"
2. 可以用 LoadLibrary 和 GetProcAddress 动态加载。
3. 为什么你不喜欢在工程里添加 lib 呢?

65

帖子

16

主题

0

精华

专家

F 币
448 元
贡献
269 点
 楼主| 发表于 2017-4-14 10:47:25 | 显示全部楼层
fcode 发表于 2017-4-14 10:26
1. 可以用 IVF 的扩展写法
!DEC$ OBJCOMMENT LIB: "DLL_Fortran.lib"
2. 可以用 LoadLibrary 和 GetProcAd ...

lib是一直在用的  这个我会,就是想学习一下dll的使用

65

帖子

16

主题

0

精华

专家

F 币
448 元
贡献
269 点
 楼主| 发表于 2017-4-14 14:25:39 | 显示全部楼层
fcode 发表于 2017-4-14 10:26
1. 可以用 IVF 的扩展写法
!DEC$ OBJCOMMENT LIB: "DLL_Fortran.lib"
2. 可以用 LoadLibrary 和 GetProcAd ...

1和2的内容 还是不太明白 能多给一点指导吗?

367

帖子

2

主题

0

精华

大宗师

F 币
2525 元
贡献
1519 点

水王勋章元老勋章热心勋章

发表于 2017-4-14 14:57:25 | 显示全部楼层
1、投奔GCC阵营;
2、努力学习VC++相关编程知识,参考下面的博文:
http://www.cnblogs.com/TenosDoIt/p/3203137.html

65

帖子

16

主题

0

精华

专家

F 币
448 元
贡献
269 点
 楼主| 发表于 2017-4-14 15:33:51 | 显示全部楼层
pasuka 发表于 2017-4-14 14:57
1、投奔GCC阵营;
2、努力学习VC++相关编程知识,参考下面的博文:
http://www.cnblogs.com/TenosDoIt/p/32 ...

正在学习呢 ,在好好学习C的指针呢 这个比较难理解,已经看了一段时间了  还是理解的不好

1138

帖子

12

主题

5

精华

论坛跑堂

Fcode跑堂

F 币
1065 元
贡献
863 点

新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

发表于 2017-4-14 15:59:41 | 显示全部楼层
你看的是什么视频?是本论坛的视频吗?
http://v.fcode.cn

65

帖子

16

主题

0

精华

专家

F 币
448 元
贡献
269 点
 楼主| 发表于 2017-4-16 13:48:44 | 显示全部楼层
fcode 发表于 2017-4-14 15:59
你看的是什么视频?是本论坛的视频吗?
http://v.fcode.cn

是的  就是本论坛的视频 静态库和动态度库的连接 最后快结束的一本分 讲的有点快 没有太理解 怎么不使用lib文件区调用dll中的方程

1138

帖子

12

主题

5

精华

论坛跑堂

Fcode跑堂

F 币
1065 元
贡献
863 点

新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

发表于 2017-4-16 19:16:45 | 显示全部楼层
多看几遍吧。
1.在源代码里书写
!DEC$ OBJCOMMENT LIB: "DLL_Fortran.lib"
这句话,和
把 "DLL_Fortran.lib"添加在工程里
是等效的。

2.关于 LoadLibrary 和 GetProcAddress 动态加载 DLL,视频里有专门的讲解。

65

帖子

16

主题

0

精华

专家

F 币
448 元
贡献
269 点
 楼主| 发表于 2017-4-17 08:40:48 | 显示全部楼层
fcode 发表于 2017-4-16 19:16
多看几遍吧。
1.在源代码里书写
!DEC$ OBJCOMMENT LIB: "DLL_Fortran.lib"

好的 谢谢
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

QQ|捐赠本站|Archiver|关于我们 About Us|QQ群|Fcode

GMT+8, 2017-11-24 04:22

Powered by Discuz! X3.2

© 2001-2017 Comsenz Inc.

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