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
Débutant
1 046 Visites

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 Compliments
1 Solution
Steven_L_Intel1
Employé
1 046 Visites

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

Voir la solution dans l'envoi d'origine

0 Compliments
4 Réponses
FortranFan
Contributeur émérite III
1 046 Visites

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 Compliments
Scott_L_1
Débutant
1 046 Visites

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 Compliments
Steven_L_Intel1
Employé
1 047 Visites

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 Compliments
Scott_L_1
Débutant
1 046 Visites

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

Scott

0 Compliments
Répondre