[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: C++ dev environment advice



caveat 1: My windows driver writing experience is EXTREMELY limited.
caveat 2: This is of questionable use to debian-user.

On Sat, Feb 12, 2000 at 10:50:24AM -0500, Michael Laing wrote:
> The initial target platform for this app is Windows 98, probably
> implemented as a driver.

Uh oh,  you'll need to use pre 6.0 MSVC++ as they changed their name
mangling in 6 which causes problems for drivers.  I think The Man
recommends v5. (This from the 98 ddk readme's.)

> However, I would like to retain as much cross-platform capability as I
> can and I am most used to doing development in linux.

Ya, kernel modules are the same as VxDs anyway. :) sorry - joke. :)

You'll have to come up with a good strategy to modularize your
system and abstract the interfaces.  Its unfortunate that you can't
use later versions of vc which suck less, but in any event, this isn't
something I could help with without a better understanding of the code
in question. 

> The app needs good thread support (POSIX?) and a few classes like Vector
> and Hashtable, otherwise nothing much special.

Well, Phils advice is good concerning STL.  That said, I've had bad
luck using STL on pre 2.95 gcc's as well as pre MSVC++6 compilers, so
YMMV. I know of no class that would transparently wrap the win32
threads and pthreads, though that doesn't mean one doesn't exist (of
course, I'll be happy to use your GPLed code once its done). :)

You can get the DDKs from the MSDN subscription.  You'll need a copy
of VC5, and VC1.52 for the 16 bit work. The 95 DDK costs money, but
you can compile 95 drivers with the 98 DDK in "compatibility mode". It
is possible other non-MS compilers would also work, but I don't know.

If you can get out of writing a 98 driver - push it to just an NT
service for example, you would probably be able to be much more clean
in your cross platform support,  NT Service code can be abstracted to
a single class easily, freeing the rest of your functionality from
that wart and allowing you to do your work in vc6 which has fairly
solid template support (make sure you patch the STL source with
updates from dinkumware.com.  It is possible that not all 98 drivers
need a 16 bit mode, but the one I'm working on certainly does.

Good luck!

-- 
jjlupa@jamdata.net
GPG public key available from http://www.jamdata.net/~jjlupa/gpg.asc

Attachment: pgpyE2s30RqAq.pgp
Description: PGP signature


Reply to: