Piet Souris wrote:Fair enough, but I was concentrating on the 'MyInterface'. So the full story would then become
Stephan van Hulst wrote:People may say Java is compiled to Java bytecode, but that doesn't prevent me from writing an interpreter that executes Java statements without compiling them first.
Tim Holloway wrote:MOST interesting.
However, this class appears to be part of the glue that would connect native binary APIs to Java code. So a couple of consideraations might apply.
1. The canonical layouts for data types don't necessary have to be the same as what's internal to the JVM storage itself, only (as I see it) in the passing of primitives to/from ABIs.
2. Although Linkers are discussed in terms of OS/hardware, I have previously noted somewhere that for the Commodore Amiga there were 2 different binary models available: 16-bit for Aztec C and 32-bit for Lattice and Green Hills C. So the canonical map might look different on such a platform, though the actual primitive data lengths would be the same for ABIs regardless (since 16-bit/32-bit was not a mode-switching change, only a code generation change.
Meaning, for best results, follow the instructions precisely and assume nothing.
All native linker implementations are guaranteed to provide canonical layouts for the following set of types:
bool char short int long long long float double size_t wchar_t void*
Neil Barton wrote:I have followed the instructions @ https://www.slf4j.org/codes.html#noProviders and put a dependency in my POM.XML for slf4j-nop.jar (I've tried slf4j-simple.jar too!) but that makes no difference. How can I get rid of these warnings?