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 Content-Type: text/plain; charset="us-ascii" 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".