- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
IVF Comrades:
My current application is a Delphi 7 executable calling an IVF 9.1 generated dll. Everything, host, target, chips, etc., is IA-32. It works splendidly.
Now I will want to generate a EM64T dll for a Core 2 Duo chip running Microsoft Windows XP Pro x64 edition. Can I call this dll from my 32-bit Delphi executable?
Norm
My current application is a Delphi 7 executable calling an IVF 9.1 generated dll. Everything, host, target, chips, etc., is IA-32. It works splendidly.
Now I will want to generate a EM64T dll for a Core 2 Duo chip running Microsoft Windows XP Pro x64 edition. Can I call this dll from my 32-bit Delphi executable?
Norm
Link Copied
5 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I don't think so. When you run a 32-bit executable on Windows x64, you are in an environment known as WoW (Windows on Windows), and 64-bit code is not accessible to you in any direct manner. There would probably need to be some sort oif intermediary code inserted to make it work. What benefit are you looking for from the 64-bit DLL?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If you search MSDN online, you should find answers to this question, such as
http://msdn.microsoft.com/msdnmag/issues/06/05/x64/default.aspx
Hope I found the right one, it's been rare lately that the forum would accept replies at the same time as MSDN is accessible.
There are specific provisions for switching and sharing data between 32-bit processes running under WOW and 64-bit processes, specifically not including mode switching for invoking a .dll.
http://msdn.microsoft.com/msdnmag/issues/06/05/x64/default.aspx
Hope I found the right one, it's been rare lately that the forum would accept replies at the same time as MSDN is accessible.
There are specific provisions for switching and sharing data between 32-bit processes running under WOW and 64-bit processes, specifically not including mode switching for invoking a .dll.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks Steve,
Well, I was hoping that a 64-bit DLL would run faster than a 32-bit one on a given chip. Will it?
Norm
Well, I was hoping that a 64-bit DLL would run faster than a 32-bit one on a given chip. Will it?
Norm
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks Tim.
Norm
Norm
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
normcler:
Well, I was hoping that a 64-bit DLL would run faster than a 32-bit one on a given chip. Will it?
Maybe. It all depends on what it does. Theoretically, 64-bit code could be faster because of more registers, but if there is a lot of address manipulation, 64-bit addresses take double the room and that means more memory traffic. I've seen test results go either way.
But as we've established, you have to choose. You can't have a mixed 32/64 bit application.

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