soccer jersey forums.silverfrost.com :: View topic - 64 bit dll
forums.silverfrost.com Forum Index forums.silverfrost.com
Welcome to the Silverfrost forums
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

64 bit dll

 
Post new topic   Reply to topic    forums.silverfrost.com Forum Index -> 64-bit
View previous topic :: View next topic  
Author Message
steveDoyle



Joined: 04 Sep 2009
Posts: 110
Location: Manchester

PostPosted: Fri Jul 05, 2024 9:42 am    Post subject: 64 bit dll Reply with quote

Hi i'm trying to convert a functioning 32 bit DLL into a 64Bit DLL that can be called from Excel VBA

File1
Program test
call init_function
end
file2
F_STDCALL subroutine init_function

write(*,*) 'hello'
end


ftn95 /64 file1.for file2.for


slink64
dll
lo file2
file mydll.dll

slink64
lo file1
lo mydll.dll
file test.exe

when i execute test.exe i get:-
following symbol not defined
init_function in test.exe

In the 32bit version when creating the DLL i would use EXPORT init_function in SLINK but from the on-line documentation all the functions are exported in SLINK64


all guidance appreciated

Steve
Back to top
View user's profile Send private message
wahorger



Joined: 13 Oct 2014
Posts: 1218
Location: Morrison, CO, USA

PostPosted: Fri Jul 05, 2024 12:15 pm    Post subject: Reply with quote

The F_STDCALL is unnecessary for 64-bit. It might be superfluous for 32-bit. I did nothing to my FTN sources to get a 64-bit DLL created.
Back to top
View user's profile Send private message Visit poster's website
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7948
Location: Salford, UK

PostPosted: Fri Jul 05, 2024 1:21 pm    Post subject: Reply with quote

Steve

F_STDCALL is not applicable for for /64 and ought to be ignored by FTN95.

I have confirmed that your test case does not work and I have logged this as needing fixing.

In the meantime you should omit F_STDCALL for /64.
Back to top
View user's profile Send private message AIM Address
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7948
Location: Salford, UK

PostPosted: Fri Jul 05, 2024 1:41 pm    Post subject: Reply with quote

This has now been fixed for the next release of FTN95.
Back to top
View user's profile Send private message AIM Address
steveDoyle



Joined: 04 Sep 2009
Posts: 110
Location: Manchester

PostPosted: Sat Jul 06, 2024 12:17 pm    Post subject: Reply with quote

Paul

thanks for the quick response

I will remove the F_STDCALL for the 64bit version of the DLL

Am i correct in the assumption that the default is EXPORTALL when linking the DLL or is there a way to control which functions are exposed by the DLL

What i'm actually trying to do is to permit Excel to act as a front end to a large application where it only need to send data and request specific analysis. There are 5,000+ subroutines in the application which would be needlessly exposed with EXPORTALL

regards

steve
Back to top
View user's profile Send private message
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7948
Location: Salford, UK

PostPosted: Sat Jul 06, 2024 4:28 pm    Post subject: Reply with quote

Steve

EXPORTALL is the default and as far as I know SLINK64 does not allow the user to limit the exports. But I will have to check this with the author.
Back to top
View user's profile Send private message AIM Address
Display posts from previous:   
Post new topic   Reply to topic    forums.silverfrost.com Forum Index -> 64-bit All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group