I use perl to call system start that I need to specify the cpu number which I want my program to bind to.
When I use x86 perl, it will launch x86 cmd to run the start command. This x86 start doesn't accept the parameter 0x100000000 as it exceeds 32 bit length. If I use a x64 perl, the whole thing works fine because x64 perl launch x64 cmd which accepts 0x100000000.
So how can I launch a x64 cmd to run the start command when using a 32-bit perl?
Details:
First, I verified that 32bit cmd shell doesn't accept start /affinity 100000000 while 64bit cmd shell does. In 32bit cmd shell, it throws error The system cannot accept the START command parameter 100000000.
Then I tried x64 perl and x86 perl respectively and find x86 perl will get the same error. See commands below.
path/to/x64/perl.exe -e "system qq{start /b /wait /affinity 100000000 my.exe}"
path/to/x86/perl.exe -e "system qq{start /b /wait /affinity 100000000 my.exe}"
Is there any method to launch a x64 shell using x86 perl to excute start?