[Wine] Accessing shared memory

Martin Gregorie martin at gregorie.org
Tue Mar 29 18:12:36 CDT 2011


On Tue, 2011-03-29 at 17:04 -0500, holtrk85 wrote:
> I have a Windows based application that was written by my customer.
> This application receives data via UDP, massages the data(proprietary
> algorithm), then stuffs the output into a shared memory segment.  This
> app runs perfectly using Wine on my Linux box(Fedora 12).
> 
> My own development environment is Java.  I need to write a piece of
> native C code that can get at the shared memory segment that is
> created by my customer's application using shmat().
> 
> Does anyone have any idea how to tackle this issue?
> 
Sounds like you'll need to use the JVM's JNI API. See your JDK's
documentation set for the JNI documentation.

Have you and your customer considered using a socket rather than shared
memory to pass information between the programs? That is generally an
easier interface to manage when Java needs to talk to a program written
in another language. You don't say whether your code will always run
under Linux or if it is intended to run in a Windows environment in
future. If the latter you're definitely better off using sockets because
the C code used to write the JNI extensions to the JVM is OS-specific,
so it will not be portable between Linux and Windows.

This thread appears more to do with Java than Wine, so I suggest you
post any additional questions on comp.lang.java.programmer rather than
here.


Martin





More information about the wine-users mailing list