[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


More information about the wine-users mailing list