www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/1996/10/17/10:45:35

From: jbronte AT doctord DOT com (Jeff Bronte)
Subject: Re: linking with MSVC++
17 Oct 1996 10:45:35 -0700 :
Sender: daemon AT cygnus DOT com
Approved: cygnus DOT gnu-win32 AT cygnus DOT com
Distribution: cygnus
Message-ID: <2.2.32.19961017165633.00699150.cygnus.gnu-win32@doctord.com>
Mime-Version: 1.0
X-Sender: jbronte AT doctord DOT com
X-Mailer: Windows Eudora Pro Version 2.2 (32)
Original-To: gnu-win32 AT cygnus DOT com
Original-Sender: owner-gnu-win32 AT cygnus DOT com

At 01:19 PM 10/17/96 +0930, you wrote:
>Assuming that I create a GUI front end using MSVC++ (and prototype
>some extern "C" fuunctions), can I link in with g++? The main program
>would be compiled with g++.
>Alternatively, can I link g++ compiled objects with MV Visual Basic
>objects, or is MSVB interpreted only?
>Any other ideas?
>Thanks
>
>-- 
>Brian Modra, Contracted Software Engineer from AMRAD Pty Ltd

Assuming that GNU Win32 has all the common network calls...

If I had to solve your problem of tacking a GUI onto GNU I would
use RPC's (Remote Procedure Calls). If you are not familiar with
network programming using this powerful tool (many of the internal services
found in any UNIX box are based on RPC's) you can get an
excellent book from O'Reilly and Associates. 

Create an RPC server for your GNU stuff and another for your
VC++ GUI. There isn't really an 'interface' definition since 
clients and servers communicate with each other using function calls.
Rather than going through a link to execute the call, the parms
are converted to a machine independent form, sent through sockets
to the server who executes the call and returns the return values.
From the programmer's perspective it is a just another call.

In the UNIX world of network programming this is often how it 
is done. (I know you see a lot about sockets, but that is a dying
method because of tracking addresses and hosts, RPC's offload
you from this through a binding process, which becomes more important
when you have several hosts and dozens of servers). Also, there is 
a util called RPCGEN which greatly simplifies this type of development.

I'm not sure how any of this plays on Win95. Also, NT added RPC's
because the industry demanded it, not because MS had any interest
in provided the service (which allow UNIX and NT machines to 
talk easily with each other, sockets are primitive). The MS
version of RPC's (ONC compliant?) are supported in MFC on NT's,
I have colleague's doing it now, but as with most MFC development,
they are having difficulties getting it to work as well as the
mature UNIX RPC's. Also, MS doesn't provide the powerful RPCGEN util,
you have to do some lower level stuff.

If you are doing professional development, you'll find this a very
powerful way to modularize and distribute applications, even if
on the same host. I am hoping that as GNU Win32 matures and more
people want to play with the Win32 API, that this solution is 
supported if not already. 

Good Luck,

Jeff

p.s. all of which I spoke of, at least in the UNIX environment, is
all public domain. (The ONLY thing that scares MS$ !!)


-
For help on using this list, send a message to
"gnu-win32-request AT cygnus DOT com" with one line of text: "help".

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019