08-20-2023, 01:05 PM
(08-20-2023, 09:10 AM)doppler Wrote: And what the hell is compiler dead space, you may ask.
People who write compilers have a habit of being lazy, very lazy. The coding part (your executable) will be the same from computer to computer. This is true as long as the compilers are the same version. So code from one computer coding will have the same SHA hash value as the next. What will change is data and string areas. The same areas which contain uninitialized memory for storage. A dumb compiler will just assign the space. Which shows up as a random segment of the compiling computers memory. Looking at the EXE code in RAW mode may show some interesting information. A smart compiler will zero out all data and string areas before sending it to the linker/exe module.
So is QB64pe using a smart or dumb compiler/linker ? The reason I am asking is "If I send someone source code and a SHA of the resulting EXE." I can determine if compilers are the same version on my computer and his/her computer. Thus resolving compiler issues before they become a problem. AKA: They said they were up to date, only to find they are 3 versions behind.
Thanks.
Nobody here may have an answer. This a very inside question about the GCC compiler QB64pe is using.
Why would this matter? You usually send a SHA along with a EXE or generally binary packages to be able to verify it wasn't hacked/modified on the way from you to the recipient.
If you wanna send the source, then you should make sure the source code arrives in its original form, hence you need to send a SHA over the source not the EXE.
How that source is then compiled on the target system doesn't matter anymore and is depending on the system. The EXE will be definitly different if you compile/SHA it on Windows and your recipient will do it on Linux/MacOS, so a SHA for the EXE in this case is pointless.
GuiTools, Blankers & other Projects:
https://staging.qb64phoenix.com/forumdisplay.php?fid=32
Libraries & useful Functions:
https://staging.qb64phoenix.com/forumdisplay.php?fid=23
https://staging.qb64phoenix.com/forumdisplay.php?fid=32
Libraries & useful Functions:
https://staging.qb64phoenix.com/forumdisplay.php?fid=23