Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.programming > #1202

Questions about Windows by a (L|U)nix user

From jt@toerring.de (Jens Thoms Toerring)
Newsgroups comp.programming
Subject Questions about Windows by a (L|U)nix user
Date 2012-01-04 00:32 +0000
Organization Freie Universitaet Berlin
Message-ID <9mhl06FiraU1@mid.uni-berlin.de> (permalink)

Show all headers | View raw


Hi,

   please don't take this as a rant or an attempt to start a
flameware - I'm merely curious and would like to get some
answers to questions I haven't been able to find. And I'm
posting it here since I haven't found any more suitable
place - please accept my appologies if it's off-topic here
(in that case I would be grateful for a pointer to a more
appropriate newsgroup).

Background: I'm a long-time Unix/Linux user and now am in the
situation were I have to write a program that works on Windows
as well (and on MacOS). And, to be honest, it was rather a night-
mare for me to get things to work on Windows;-) A good deal is
for sure due to my ignorance of Windows and the ways it works.
But there are some things I couldn't find any good explabation
for, and that's what I would like to ask about here:

a) There's a lot of talk about the difficulties of porting pro-
   grams from 32 to 64 bit Windows versions. Is that really that
   much of an issue? I'm curious since I never had any serious
   issues with programs I wrote under Unix to get them to com-
   pile and work under 32 and 64 bit systems, including several
   drivers. And e.g. in a program of mine of more than 200K lines
   I found maybe two issues where I had made a stupid assumption
   that led to trouble but that's about all I ever did see of
   32/64 bit issues, so I'm puzzled what the background might
   be.

b) When, as I just read, Microsoft announces to end the lifeline
   of a product like XP there's lots of talk of people saying
   that they use applications that were written for XP and that
   it would take a huge amount of work to get them to run on e.g.
   Windows 7. Can someone shed some light on why this is such a
   problem? I'm used to writing programs that still compile on
   the newest Linux version after 15 years with at most minimal
   changes and beside also work on other kinds of Unix. What's the
   big difference in the Windows world that makes switching to the
   successor version of the same OS such a big deal?

c) When one compiles a program or a DLL with Visual Studio it
   seems to make quite a difference if one uses the 2008 or 2010
   version and that all libraries need to be created with the
   exact same version. This I found quite problematic since some
   component DLLs I had to use were binary packages only and it
   often wasn't even clear what had been used for creating them.
   In the end it took more than two weeks to find a combination
   that finally seemed to work (some combinations seemed to work
   at first but then crashed sometimes in completely mysterious
   ways). Why aren't binary packages distributed in all usual
   versions and why can't the system then pick the correct one
   all by itself?

d) Under Windows there seem to be several "runtime libraries",
   and all components of a program (i.e. the program itself
   and the DLLs it's linked again) must somehow fit together
   also in this respect (as far as I was told). I'm not only
   puzzled what this having different "runtine libraries" is
   all about (and why it is necessary) but also how one is
   supposed to figure out what had been used in the different
   DLLs.

e) When trying to compile my program I found that Visual Stusio
   doesn't seem to be enough - some functionality seems to re-
   side in what's called a "Microsoft SDKs" (of which there are
   again several versions. Can someone explain what these are all
   about and why are there several versions and how one figures
   out which version to use for a program (I got the impression
   that v6.0A needs to be used with Visual Studio 2008 and v7.0A
   with VS 2010 but that is just a result of "it seems to work
   now" but not something I understand - and then, why is there
   a 6.0A and 7.0A version while there also seems to be a 5.0
   (without the 'A') version)?

f) Under Unix I am used to programs and libraries getting installed
   in some small number of places, typically either under /usr (for
   stuff that comes with the OS) and /usr/local (for stuff that one
   installs beside) and maybe a few other, more exotic places like
   /opt. On Windows I haven't been able to find a similar convention,
   stuff seems to get installed all over the place and then requires
   all kinds of PATH etc. environment variables to be set manually.
   Is this impression correct or do I have missed the big picture?
   If orrect is there some explanation why things aren't done in a
   more systematical way?

g) I have got the impression that Visual Studio seems to be rather
   slow - the whole of my program takes more than 10 minutes to com-
   pile and link while on similar (or less well equiped, both memory-
   and CPU-wise) Linux machine gcc takes about 1.5 to 2.5 minutes.
   I am aware that "similar machines" is a bit loose a concept but
   the difference is that large that it seems to be significant.
   What could be the reasons and what might help to speed things
   up a bit?

Of course, I don't expect complete answer to all of my questions
- they might be too long for a newgroup. But already getting just
some pointers to places were I can read a bit more about the back-
grounds would be rather nice - I have done a lot of google'ing but
mostly drawn blanks.
                                Regards, Jens
-- 
  \   Jens Thoms Toerring  ___      jt@toerring.de
   \__________________________      http://toerring.de

Back to comp.programming | Previous | Next — Next in thread | Find similar | Unroll thread


Thread

Questions about Windows by a (L|U)nix user jt@toerring.de (Jens Thoms Toerring) - 2012-01-04 00:32 +0000
  Re: Questions about Windows by a (L|U)nix user "io_x" <a@b.c.invalid> - 2012-01-04 06:40 +0100
    Re: Questions about Windows by a (L|U)nix user "io_x" <a@b.c.invalid> - 2012-01-04 06:48 +0100
    Re: Questions about Windows by a (L|U)nix user blp@cs.stanford.edu (Ben Pfaff) - 2012-01-03 21:41 -0800
  Re: Questions about Windows by a (L|U)nix user Patricia Shanahan <pats@acm.org> - 2012-01-03 21:48 -0800
    Re: Questions about Windows by a (L|U)nix user jt@toerring.de (Jens Thoms Toerring) - 2012-01-04 09:09 +0000
  Re: Questions about Windows by a (L|U)nix user Robert Wessel <robertwessel2@yahoo.com> - 2012-01-04 03:27 -0600
    Re: Questions about Windows by a (L|U)nix user jt@toerring.de (Jens Thoms Toerring) - 2012-01-04 10:05 +0000
  Re: Questions about Windows by a (L|U)nix user "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2012-01-04 11:20 +0100
  Re: Questions about Windows by a (L|U)nix user "BartC" <bc@freeuk.com> - 2012-01-04 11:44 +0000
    Re: Questions about Windows by a (L|U)nix user Robert Wessel <robertwessel2@yahoo.com> - 2012-01-04 05:57 -0600

csiph-web