|
Authored by: Anonymous on Monday, May 28 2012 @ 08:12 AM EDT |
I think you're off-base in the first half of your comment (about J2SE API
not being an API). When the code is linked together has nothing to do
with whether it is an API or not.
In a C++ program, the compiler creates machine code to execute the call,
and the linker combines the library code and application code together into
one executable.
In a Java platform program, the compiler creates bytecode instructions to
perform the call, but the code is not linked together until runtime--when
the VM performs symbol resolution and loads the library thru a
classloader. But the API still existed, on both sides: the library contains
the implementation of a method with that signature, and the compiled
bytecode of the application also has enough knowledge of the signature
compiled in, to be able to invoke it.
Its actually quite similar to how in tge PlayStation, the Sony BIOS
functions are not linked into the games. They are just stored separately in
ROM, and enough knowledge of how to invoke them (through the BIOS
function ptr table) is compiled into the games, so that at runtime the game
code is able to invoke the API functions of the BIOS.
The second half of your comment, I agree with.[ Reply to This | Parent | # ]
|
- Pedantry! - Authored by: Ian Al on Monday, May 28 2012 @ 02:14 PM EDT
- Pedantry! - Authored by: Anonymous on Monday, May 28 2012 @ 02:25 PM EDT
|
|
|
|