Jump to content
Sign in to follow this  
wpz

Advantage(s) of /x64 compiler-switch

Recommended Posts

wpz

As I noticed is my without the /x64 -switch compiled Exe running well on 64-Bit OS-Versions, too. Only for registryfunctions like regwrite I use a variable $HKLM which I set to "HKLM64" in case of @OSArch == "X64". No problem so far. My question is, when MUST I use the x64-switch or what could happen if I use my with the /x86-switch compiled Exe on a 64-bit system? Background: The Exe is used with 32- and 64-Bit OS-Versions.

I didn't find any answer to this question or the advantages of the /X64-switch. Can you help?

Best regards

wpz

Share this post


Link to post
Share on other sites
Melba23

wpz,

Getting to the ragged edge of my knowledge here, but I am sure someone will correct me if I am too far from the mark. :huggles:

If you compile as x64 and try to run on an x86 system, the exe will not work. Windows comes up with a nice dialog telling you that you have screwed up (but in much nicer language!)

If you compile as x86 and run on an x64 system the app will run as MS have kindly provided an interface. But (there is always a "But"!) certain AutoIt functions will not work correctly - I know that reading ListViews will fail for sure. Perhaps your script will run without problem as seems to be the case so far.

If you are concerned, you could use a simple starter script compiled in x86 (and so able run on both) which, depending on @OSArch, will run an x86 or x64 compiled version of the main script. Using FileInstall, you could even have everything in the one executable - as long as you are sure you will have the correct permissions to write the relevant compiled version to disk before running it.

I hope this helps. :D

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites
KaFu

More precise it should be "reading from 64bit process ListView with a 32bit process compiled exe will fail". We ran into that problem doing our ICU example (see sig), trying to access the Windows Desktop ListView. A 32bit compiled exe cannot access the Desktop ListView of an 64bit OS.

In the Help-File look at the remarks of ControlListView() and ControlTreeView(): "As AutoIt is a 32-bit application some commands are not available when referencing a 64-bit application as Explorer when running on 64-bit Windows."... so it's listviews and treeviews... at the very least :D, maybe there are more control types which cannot be accessed...

Edited by KaFu

Share this post


Link to post
Share on other sites
Melba23

KaFu,

Thanks for filling in the details - I could not find the precise reference you sent me. :D

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.