Fortran Coder

查看: 712|回复: 7
打印 上一主题 下一主题

[求助] 求助各位老师解答Fortran可执行文件库依赖性相关问题

[复制链接]

1971

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1387 元
贡献
589 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

楼主
发表于 2023-12-26 08:21:44 | 显示全部楼层
他用的静态链接。/MT
MKL的静态库代码被链接到exe里面了。
详解:http://dlllose.w.fcode.cn/

1971

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1387 元
贡献
589 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

沙发
发表于 2023-12-26 15:38:45 | 显示全部楼层
Yjc 发表于 2023-12-26 13:28
谢谢老师解惑;

想请老师判断下我的这个理解对不对,其实MKL数学库中的子程序就是lib库,在具体使用过程 ...

MKL中的子程序,是 Intel 编写的。不开源,所以你无法获得源代码。
Intel 提供了2种编译版本:

一种是DLL形式的,并提供导入库。
如果你链接这种导入库,编译产生的exe,就会依赖MKL的dll文件。

另一种是静态库形式的。
如果你链接这种静态库,编译产生的exe,就不会依赖MKL的dll文件。(但似乎不能取消对 OpenMP DLL 的依赖)

通常来说,/MD 链接方式会选择前者,而 /MT 链接方式会选择后者。

博文中看不出用的哪种,默认情况应该是用的前者。
这一问题,也不太影响对博文的理解。

1971

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1387 元
贡献
589 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

板凳
发表于 2023-12-27 08:43:21 | 显示全部楼层
拖拽功能是windows实现的。操作系统(windows/linux)实现了标准输入输出通道。
Fortran 的 Read 语句,在不特殊指定通道的情况下,会从标准输入通道获取输入内容。而 write 语句,会在标准输出通道输出内容。

在 windows 上,你把一个文件拖拽到命令行窗口,windows就会自动把这个文件的文件名输入到标准输入通道。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-6-15 07:57

Powered by Tencent X3.4

© 2013-2024 Tencent

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