Is TC compatible with a 64-bit OS?
Moderators: Hacker, petermad, Stefan2, white
Is TC compatible with a 64-bit OS?
Just curious, maybe I'll get a new computer when it is, like the AMD Athlon 64.
- ghisler(Author)
- Site Admin
- Posts: 50505
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
TC should work on 64-bit Windows, because 64-bit Windows supports 32-bit programs too. Unfortunately TC cannot be recompiled to 64-bit because there is no 64-bit Delphi compiler.
Last edited by ghisler(Author) on 2003-08-14, 16:20 UTC, edited 1 time in total.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
- ghisler(Author)
- Site Admin
- Posts: 50505
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
The only really CPU-intensive function in TC is the ZIP packer and several unpackers. For normal file management, you would not see any difference. Since the ZIP packer DLL is written in MSVC++, I wonder whether it's possible to call 64-bit DLLs from a 32-bit program...What kind of benefits if and when it does?
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
I'm googling, "calling 64-bit dll for 32-bit program" and it sounds like it is possible. Here is one on 16-bit to 32-bit (no code example though but I am still googling):
http://lists.debian.org/debian-amd64/2003/debian-amd64-200312/msg00039.html
"This is called thunking btw and as far as I know it was invented by
IBM/Microsoft for OS/2 and made worse in Windows 95. From
http://www.ddj.com/documents/s=952/ddj9614c ...
> One of the most difficult areas of Windows 95 programming is thunking. Many of
> the 32-bit system DLLs in Windows 95 rely heavily on 16-bit code. For example,
> when your 32-bit program calls GetMessage, control ultimately ends up in the
> GetMessage routine in the 16-bit USER.EXE. Likewise, there are many places
> where 16-bit system code makes calls to 32-bit system DLLs. For example, when
> creating a new window, the 16-bit USER.EXE thunks up to KERNEL32.DLL to
> allocate memory for the window's data from a 32-bit heap. Windows 95 handles
> both types of thunks (32- to 16-bit, and 16- to 32-bit) seamlessly."
-Billym
http://lists.debian.org/debian-amd64/2003/debian-amd64-200312/msg00039.html
"This is called thunking btw and as far as I know it was invented by
IBM/Microsoft for OS/2 and made worse in Windows 95. From
http://www.ddj.com/documents/s=952/ddj9614c ...
> One of the most difficult areas of Windows 95 programming is thunking. Many of
> the 32-bit system DLLs in Windows 95 rely heavily on 16-bit code. For example,
> when your 32-bit program calls GetMessage, control ultimately ends up in the
> GetMessage routine in the 16-bit USER.EXE. Likewise, there are many places
> where 16-bit system code makes calls to 32-bit system DLLs. For example, when
> creating a new window, the 16-bit USER.EXE thunks up to KERNEL32.DLL to
> allocate memory for the window's data from a 32-bit heap. Windows 95 handles
> both types of thunks (32- to 16-bit, and 16- to 32-bit) seamlessly."
-Billym
Here are a few more misc things:
http://www.amd.com/us-en/assets/content_type/DownloadableAssets/Porting_Win_DD_to_AMD64.pdf
http://www.amd.com/us-en/assets/content_type/DownloadableAssets/Value_of_AMD64_White_Paper.pdf
http://msdn.microsoft.com/msdnmag/issues/1100/hood/default.aspx
Here is a VB example that has a 16-bit program call a 32-bit dll (granted not 32 to 64 but it might be similar):
http://www.programmersheaven.com/d/click.aspx?ID=F17100&URL=ftp%3A%2F%2Fftp.spaldingsoft.com%2Frob%2Fcall32v2.zip
"CALL32.DLL is a DLL that can be used for calling routines in 32-bit
DLLs on Windows XP, ME, 2000, NT, 9x. It may or may not work on other
32-bit operating systems.
Using it, a Visual Basic program, running in the Win16 subsystem,
can declare and call functions in any 32-bit DLL (including, but not
limited to, the system DLLs)."
Here is some DLL calling stuff but it is assembly (look towards bottom of page under "Advanced"): http://www.jorgon.freeserve.co.uk/
After refining my google search with this "calling 64-bit dll from 32-bit program thunking" I am getting better info; however, I must sleep now. I hope the stuff above is not useless. I know some programming but not a lot.
Oh and lastly I am sure there is some good info directly from AMD:
AMD Developer Site:
http://www.amd.com/us-en/Processors/DevelopWithAMD/0,,30_2252,00.html
AMD64 Developer Resource Kit
http://www.amd.com/us-en/Processors/DevelopWithAMD/0,,30_2252_9044,00.html
-Billym
http://www.amd.com/us-en/assets/content_type/DownloadableAssets/Porting_Win_DD_to_AMD64.pdf
http://www.amd.com/us-en/assets/content_type/DownloadableAssets/Value_of_AMD64_White_Paper.pdf
http://msdn.microsoft.com/msdnmag/issues/1100/hood/default.aspx
Here is a VB example that has a 16-bit program call a 32-bit dll (granted not 32 to 64 but it might be similar):
http://www.programmersheaven.com/d/click.aspx?ID=F17100&URL=ftp%3A%2F%2Fftp.spaldingsoft.com%2Frob%2Fcall32v2.zip
"CALL32.DLL is a DLL that can be used for calling routines in 32-bit
DLLs on Windows XP, ME, 2000, NT, 9x. It may or may not work on other
32-bit operating systems.
Using it, a Visual Basic program, running in the Win16 subsystem,
can declare and call functions in any 32-bit DLL (including, but not
limited to, the system DLLs)."
Here is some DLL calling stuff but it is assembly (look towards bottom of page under "Advanced"): http://www.jorgon.freeserve.co.uk/
After refining my google search with this "calling 64-bit dll from 32-bit program thunking" I am getting better info; however, I must sleep now. I hope the stuff above is not useless. I know some programming but not a lot.
Oh and lastly I am sure there is some good info directly from AMD:
AMD Developer Site:
http://www.amd.com/us-en/Processors/DevelopWithAMD/0,,30_2252,00.html
AMD64 Developer Resource Kit
http://www.amd.com/us-en/Processors/DevelopWithAMD/0,,30_2252_9044,00.html
-Billym