Jump to content

Talk:Java Native Access

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by RokerHRO (talk | contribs) at 17:36, 3 September 2012 (JNA only handles C and the C subset of C++, right?: new section). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
WikiProject iconJava Start‑class Mid‑importance
WikiProject iconThis article is within the scope of WikiProject Java, a collaborative effort to improve the coverage of Java on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
StartThis article has been rated as Start-class on Wikipedia's content assessment scale.
MidThis article has been rated as Mid-importance on the project's importance scale.
Note icon
This article has been automatically rated by a bot or other tool because one or more other projects use this class. Please ensure the assessment is correct before removing the |auto= parameter.
WikiProject iconComputing: Software Start‑class
WikiProject iconThis article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
StartThis article has been rated as Start-class on Wikipedia's content assessment scale.
???This article has not yet received a rating on the project's importance scale.
Taskforce icon
This article is supported by WikiProject Software.

C types

I find the types section quite dubious, since it seems pretty windows oriented with the special win32 names and the (C/C++) types with the length they commonly have ON WINDOWS, on linux for example int is usually 64-bits and on very old systems it may be 16 bits. then wikipedia is not a how-to. Flow, 145.53.104.245, 20 dec 2010 19:46 (GMT+1)

The types section is grabbed from the JNA documentation, which is where the byte sizes and such are given. IsmAvatar (talk) 08:38, 2 August 2011 (UTC)[reply]

svnkit

I may be too stupid to get this idea but why would SVNKit that reportedly is a 'pure Java Subversion client library' use Java Native Access? Isn't that a case of either or? 130.246.132.26 (talk) 12:29, 6 August 2009 (UTC)[reply]

There are two downloadable versions - one with, and one without. So it is pure Java, but, with JNA, it can make some native calls for faster access. More information can be found on this page. IsmAvatar (talk) 08:43, 2 August 2011 (UTC)[reply]

Moved for discussion

Moved from the article for discussion. The following appears to have been added against WP:COI and is unsourced. Perhaps some if it could be incorporated into the article if properly sourced. --Ronz (talk) 16:31, 8 August 2008 (UTC)[reply]

Partial source is a bit I wrote on the JNA project page; I can only vouch for what happened when I took over the project; I summarized prior history from the project publication announcement. --twall 00:07, 18 October 2008 (EST)

History

Fragments of the JNA project date back to a small shared stubs library originally written by Sheng Liang of the Sun Microsystems JNI team and demoed at JavaOne circa 1999.

Over the next seven years, Todd Fast (also of Sun) heavily modified Sheng's library to add full Win32 support, provide a friendlier API, and expand the ability to map native libraries, functions, and types to Java equivalents. He first published the project on java.net under the name of "Java Native Access (JNA)" in the fall of 2006. The name was intended to reflect both the similarities to and differences from the Java Native Interface (JNI), which is the standard (though relatively difficult) mechanism for accessing native code from Java.

Timothy Wall became the maintainer of the project in February 2007, and has contributed by expanding the feature set, adding linux and OSX ports, and making the library usable for more advanced function types. Wayne Meissner contributed significantly to enable a wide range of ports by incorporating libffi and enabling 64-bit targets.

In the first public release, cross-platform support was limited to Solaris and Win32 and there was only partial struct support for native calls. With the purported goal of providing a concise programming model for developers, the API took advantage of JDK 5's annotations and type safety features, though these features were later removed to support using JNA with earlier versions of the Java VM. Finally, as a result of Todd's work on the project at Sun, JNA is packaged under the com.sun domain, though most of the work on the project has since shifted to parties outside of Sun.

JNA only handles C and the C subset of C++, right?

So there is no support for overloaded functions, C++ data types (std::string, std::vector, std::map etc.) and other C++ features, or am I wrong? --RokerHRO (talk) 17:36, 3 September 2012 (UTC)[reply]