Cross compilation: Difference between revisions

Content added Content deleted
m (sp)
m (→‎{{header|Phix}}: sp, more)
Line 14: Line 14:
The compiler tries hard to avoid emitting unnecessary binary, which is likely to be more successful when those routines are used as plainly as possible, without any and/or parts to the conditional. Likewise #ilASM{} aka inline assembly can contain guards
The compiler tries hard to avoid emitting unnecessary binary, which is likely to be more successful when those routines are used as plainly as possible, without any and/or parts to the conditional. Likewise #ilASM{} aka inline assembly can contain guards
such as [32] to emit (only) the relevant code for different target architectures, see
such as [32] to emit (only) the relevant code for different target architectures, see
[[Conditional_structures#ilASM]] and [[Pragmatic_directives#Phix]] for more details and examples.
[[Conditional_structures#ilASM]] and [[Pragmatic_directives#Phix]] for more.


The requires() routine can help ensure time is not needlessly wasted trying to get things to work on
The requires() routine can help ensure time is not needlessly wasted trying to get things to work on
platform(s) where it currently simply does not.
platform(s) where it currently simply does not.


Lastly, pwa.p2js can be used to transpile Phix code to Javascript for running in a web browser, with the
Lastly, pwa/p2js can be used to transpile Phix code to Javascript for running in a web browser, with the
compiler directive "with javascript_semantics" explicitly stating that is possible, and the "without"
compiler directive "with javascript_semantics" explicitly stating that is possible, and the "without"
variant explicitly blocking it, with similar implications as requires().
variant explicitly blocking it, with similar implications as requires().