主题:急用:求一个fortran调用API简单实例
rainboat8
[专家分:30] 发布于 2011-03-31 10:34:00
求一个fortran程序调用API简单的完整实例,粘一个具有代表性的,简单一点,我是对调用API函数需要写的格式不懂,想参考一下。急用啊,谢谢啦!
回复列表 (共15个回复)
沙发
臭石头雪球 [专家分:23030] 发布于 2011-03-31 11:01:00
[quote][font=宋体][color=#000000] [/color][color=#FF0000]Program [/color][color=#000000]OlidStone
[/color][color=#FF0000]Use [/color][color=#000000]User32
[/color][color=#FF0000]implicit none
Integer [/color][color=#000080]:: [/color][color=#000000]iRes
iRes [/color][color=#000080]= [/color][color=#000000]MessageBox[/color][color=#000080]( [/color][color=#000000]NULL [/color][color=#000080], [/color][color=#808080]"内容" [/color][color=#000080], [/color][color=#808080]"标题" [/color][color=#000080], [/color][color=#000000]MB_OK [/color][color=#000080])
[/color][color=#FF0000]End program [/color][color=#000000]OlidStone[/color][/font][/quote]
板凳
rainboat8 [专家分:30] 发布于 2011-03-31 11:41:00
谢谢啦
3 楼
rainboat8 [专家分:30] 发布于 2011-03-31 11:47:00
还想问个问题,就是所有的API函数都是用User32吗,怎么确定那个用哪个,比如dup2()是用哪个模块?还有能不能麻烦您帮我把这段c++的代码转成fortran的
FILE* fin = fopen( "111.txt ", "r");
dup2(fileno(fin), 0);
谢谢了
4 楼
臭石头雪球 [专家分:23030] 发布于 2011-03-31 11:47:00
真叩门,才给10分
5 楼
rainboat8 [专家分:30] 发布于 2011-03-31 12:05:00
再给30分
6 楼
cgl_lgs [专家分:21040] 发布于 2011-03-31 13:48:00
雪球兄搞笑啊:)
7 楼
cgl_lgs [专家分:21040] 发布于 2011-03-31 13:56:00
[quote]还想问个问题,就是所有的API函数都是用User32吗,怎么确定那个用哪个,比如dup2()是用哪个模块?还有能不能麻烦您帮我把这段c++的代码转成fortran的
FILE* fin = fopen( "111.txt ", "r");
dup2(fileno(fin), 0);
谢谢了[/quote]
fopen和Open语句差不多。
而dup2是UNIX的系统API:)
雪球兄用举的例子是MSWIN下的:)
不过万变不离其宗,看看编译器的手册应该有对于当前系统API库支持的东东:)
8 楼
dongyuanxun [专家分:7180] 发布于 2011-03-31 13:58:00
lz得先指出使用的什么编译器,不是所有的编译器都有User32 module的。
碰到没有的情形,要按照api的声明在fortran中以interface封装,然后链接时链接kernel32.lib等api函数库。
9 楼
cgl_lgs [专家分:21040] 发布于 2011-03-31 14:14:00
[quote]lz得先指出使用的什么编译器,不是所有的编译器都有User32 module的。
碰到没有的情形,要按照api的声明在fortran中以interface封装,然后链接时链接kernel32.lib等api函数库。[/quote]
顶董兄,顺便加一个:运行环境如果不是MS Windows那最好也说明一下:)
10 楼
臭石头雪球 [专家分:23030] 发布于 2011-03-31 14:37:00
楼上的朋友说得没错,具体要看哪个平台,需要翻阅相关SDK手册和编译器手册。
我来回复