- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Should "dumpbin -symbols hdf4interfaces.obj" show me the aliases I am trying to create into HDF. hdf4interfaces.f90 looks like this:
module hdf4interface
interface
function dfsdsetdims [C,ALIAS:'_DFSDsetdims'](rank,dim_sizes)
integer*4 dfsdsetdims,rank,dim_sizes(*)
end function
end interface
end module
dumpbin produces:
Dump of file hdf4interface.obj
File Type: COFF OBJECT
COFF SYMBOL TABLE
000 00000000 DEBUG notype Filename | .file
E:\TimDocs\fort\cross\source\hdf4interface.f90
004 00000001 ABS notype Static | @feat.00
005 00000000 SECT1 notype Static | .text
Section length 8, #relocs 0, #linenums 0, checksum 0
007 00000000 SECT1 notype () External | _HDF4INTERFACE.
008 00000000 SECT2 notype Static | .debug$S
Section length A8, #relocs 2, #linenums 0, checksum 0
00A 00000000 SECT6 notype Static | .debug$T
Section length 20, #relocs 0, #linenums 0, checksum 0
00C 00000000 SECT3 notype Static | .rdata
Section length 58, #relocs 0, #linenums 0, checksum 0
00E 00000000 SECT3 notype Static | STRLITPACK_0
00F 00000010 SECT3 notype Static | STRLITPACK_1
010 00000024 SECT3 notype Static | STRLITPACK_2
011 00000034 SECT3 notype Static | STRLITPACK_3
012 00000048 SECT3 notype Static | STRLITPACK_4
013 00000000 SECT4 notype Static | .drectve
Section length B8, #relocs 0, #linenums 0, checksum 0
015 00000000 SECT5 notype Static | .trace
Section length 60, #relocs 2, #linenums 0, checksum 0
String Table Size = 0x55 bytes
Summary
A8 .debug$S
20 .debug$T
B8 .drectve
58 .rdata
8 .text
60 .trace
I don't see the external symbols that I'm missing when I link.
module hdf4interface
interface
function dfsdsetdims [C,ALIAS:'_DFSDsetdims'](rank,dim_sizes)
integer*4 dfsdsetdims,rank,dim_sizes(*)
end function
end interface
end module
dumpbin produces:
Dump of file hdf4interface.obj
File Type: COFF OBJECT
COFF SYMBOL TABLE
000 00000000 DEBUG notype Filename | .file
E:\TimDocs\fort\cross\source\hdf4interface.f90
004 00000001 ABS notype Static | @feat.00
005 00000000 SECT1 notype Static | .text
Section length 8, #relocs 0, #linenums 0, checksum 0
007 00000000 SECT1 notype () External | _HDF4INTERFACE.
008 00000000 SECT2 notype Static | .debug$S
Section length A8, #relocs 2, #linenums 0, checksum 0
00A 00000000 SECT6 notype Static | .debug$T
Section length 20, #relocs 0, #linenums 0, checksum 0
00C 00000000 SECT3 notype Static | .rdata
Section length 58, #relocs 0, #linenums 0, checksum 0
00E 00000000 SECT3 notype Static | STRLITPACK_0
00F 00000010 SECT3 notype Static | STRLITPACK_1
010 00000024 SECT3 notype Static | STRLITPACK_2
011 00000034 SECT3 notype Static | STRLITPACK_3
012 00000048 SECT3 notype Static | STRLITPACK_4
013 00000000 SECT4 notype Static | .drectve
Section length B8, #relocs 0, #linenums 0, checksum 0
015 00000000 SECT5 notype Static | .trace
Section length 60, #relocs 2, #linenums 0, checksum 0
String Table Size = 0x55 bytes
Summary
A8 .debug$S
20 .debug$T
B8 .drectve
58 .rdata
8 .text
60 .trace
I don't see the external symbols that I'm missing when I link.
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
No. An interface block does not correspond to any object code. I would also recommend that you switch from the old Microsoft Fortran PowerStation square bracket syntax for attributes to the Fortran 2003 BIND(C,NAME=). Note that you would leave off the leading underscore when doing this.

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page