Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

DLLEXPORT converts to lowercase?

Scott_L_1
Beginner
763 Views

Dear all,
I am working on a library that is delivered to clients as a DLL.  One of the exported routines has the following 

!DEC$ ATTRIBUTES DLLEXPORT::HMclust

The actual exported name in the DLL is hmclust, i.e. all lowercase.  Is this default behavior?  The client software engineer reports that previously, the DLL's exported all uppercase.  Is there compileer/linker option to change this behavior?

Thanks for any help.

 

0 Kudos
1 Solution
Steven_L_Intel1
Employee
763 Views

Change the "Calling Convention" for x64 back to Default. STDCALL changes the name to lowercase and also sets pass-by-value, even on x64.

View solution in original post

0 Kudos
4 Replies
FortranFan
Honored Contributor III
763 Views

Take a look at the /iface compiler option in the Intel Fortran User and Reference Guide and check what you're using now versus what was done previously.

0 Kudos
Scott_L_1
Beginner
763 Views

Thanks, FortranFan.  Looking at the project property control in Visual Studio, these are the options for the x64 platform
Calling Convention:  STDCALL
Name Case Interpretation:  Default

I note that when building win32, the project properties are:

Calling Convention:  Default
Name Case Interpretation:  Default


The win32 DLL is uppercase, the x64 DLL is lowercase.   I'll review both calling convention and default for the two platforms with the clients to see how these need to be set.


 

 

0 Kudos
Steven_L_Intel1
Employee
764 Views

Change the "Calling Convention" for x64 back to Default. STDCALL changes the name to lowercase and also sets pass-by-value, even on x64.

0 Kudos
Scott_L_1
Beginner
763 Views

Thank you, Steve,
Changing "Calling Convention" to Default fixes the issues on x64.

Scott

0 Kudos
Reply