News:

The new Release 25.03 is out! You can download binaries for Windows and many major Linux distros here .

Main Menu

64bit programs in backtics?

Started by cacb, November 07, 2015, 09:21:05 PM

Previous topic - Next topic

oBFusCATed

Good it is working now. If you see problems don't hesitate to report them.
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

cacb

Quote from: oBFusCATed on November 09, 2015, 12:24:00 AM
Good it is working now. If you see problems don't hesitate to report them.

Thank you. As a quick update, I have been using this feature successfully in 64bit mode for some days now, so it is definitely working.

A sidenote is that I have also managed to define sets of global variables making it possible to switch easily from 32bit building to 64bit building and vice versa, using the MSVC2013 toolchain. This without changing anything at all in the .cbp project files. More details can be provided if anyone is interested.

stahta01

Quote from: cacb on November 16, 2015, 09:12:48 AM
Thank you. As a quick update, I have been using this feature successfully in 64bit mode for some days now, so it is definitely working.

A sidenote is that I have also managed to define sets of global variables making it possible to switch easily from 32bit building to 64bit building and vice versa, using the MSVC2013 toolchain. This without changing anything at all in the .cbp project files. More details can be provided if anyone is interested.

I would like more details on the global variables.

Tim S.
C Programmer working to learn more about C++.
On Windows 10 64 bit and Windows 11 64 bit.
--
When in doubt, read the CB WiKi FAQ. [url="http://wiki.codeblocks.org"]http://wiki.codeblocks.org[/url]

thomas

Your issue is something that may be worth looking into more thoroughly.

There is no technical reason why a 32-bit process shouldn't be able to run a 64-bit process. Indeed, Process Explorer does just that, every single time you launch it on a 64-bit system. Firefox is a strictly 32-bit application, too, and it does not fail to launch applications to open media.

Which means there are 3 possible reasons:

  • You just fucked up ---> can be ruled out rather safely if the exact same backtick that didn't work before works now
  • Code::Blocks has a bug, probably uninitialized variable, somewhere in ExpandTicks ---> that'd be a rather serious defect that would need fixing
  • wxExecute not only sucks notoriously, but indeed has a bug that triggers randomly in this scenario ---> not ours to fix, but still important, and should be reported upstream
"We should forget about small efficiencies, say about 97% of the time: Premature quotation is the root of public humiliation."

cacb

Quote from: stahta01 on November 19, 2015, 02:37:58 AM
I would like more details on the global variables.

Tim S.

I have a PDF to share about this but it is too big to post as attachment (~650 KB) here. I will upload it to my website and link to it this evening. It is a detailed description of my setup.

cacb

Quote from: thomas on November 19, 2015, 03:12:13 PM
Your issue is something that may be worth looking into more thoroughly.

There is no technical reason why a 32-bit process shouldn't be able to run a 64-bit process. Indeed, Process Explorer does just that, every single time you launch it on a 64-bit system. Firefox is a strictly 32-bit application, too, and it does not fail to launch applications to open media.

Which means there are 3 possible reasons:

  • You just fucked up ---> can be ruled out rather safely if the exact same backtick that didn't work before works now
  • Code::Blocks has a bug, probably uninitialized variable, somewhere in ExpandTicks ---> that'd be a rather serious defect that would need fixing
  • wxExecute not only sucks notoriously, but indeed has a bug that triggers randomly in this scenario ---> not ours to fix, but still important, and should be reported upstream

I can confirm that a 32bit process (Code::Blocks) can run a 64bit process, it works now.... almost all of the time. When I set up initially on a new computer I tend to have startup trouble, but after that it seems to work consistently.

I would not rule out the first bullet, I do that all the time  :P , but yes it is the same backtick.
Somehow it feels like something needs to be cached in somewhere before it becomes reliable (just a hunch). Perhaps that is wxExecute misbehaving sometimes.

More later.




cacb

Quote from: cacb on November 20, 2015, 01:09:45 PM
I have a PDF to share about this but it is too big to post as attachment (~650 KB) here. I will upload it to my website and link to it this evening. It is a detailed description of my setup.

I made a quick placeholder post on my blog for this topic: Code::Blocks with MSVC2013
The PDF mentioned is linked from there.