exagonx wrote: ↑Dec 02, 2022 0:13
For the rest, when I refer to a 16-bit executable it means that the interpreter executes it in 16-bit real mode, the fact that it then loads 32-bit data into memory in protected mode this in fact does not make it a 32-bit NT executable or Linux
But it doesn't make it an all 16-it process either.
Note that most Windows (win32, NT binaries are rare) binaries still have a 16-bit mode stub to printout "this program requires microsoft windows to run" or something like that. Doesn't make all win32 applications 16-bits msdos EXEs.
exagonx wrote: ↑Dec 02, 2022 0:13
For the rest, when I refer to a 16-bit executable it means that the interpreter executes it in 16-bit real mode, the fact that it then loads 32-bit data into memory in protected mode this in fact does not make it a 32-bit NT executable or Linux
But it doesn't make it an all 16-it process either.
Note that most Windows (win32, NT binaries are rare) binaries still have a 16-bit mode stub to printout "this program requires microsoft windows to run" or something like that. Doesn't make all win32 applications 16-bits msdos EXEs.
You are right I hadn't thought it could just be pre-execution code
[roland@localhost libco (master)]$ gcc -c libco.c
[roland@localhost libco (master)]$ fbc libco.o ex1.bas
/usr/bin/../bin/ld : avertissement : /usr/bin/../lib/freebasic/linux-x86_64/fbextra.x contient des sections de sortie; avez-vous oublié -T?
[roland@localhost libco (master)]$ ./ex1
this is main
this is the thread, iteration 1
this is main
this is the thread, iteration 2
...