Linked by David Adams on Sun 14th Aug 2011 22:41 UTC, submitted by subterrific
Permalink for comment 485023
To read all comments associated with this story, please click here.
To read all comments associated with this story, please click here.
Features
Linked by Thom Holwerda on 05/18/13 21:33 UTC
Linked by David Adams on 05/16/13 4:23 UTC
Linked by Thom Holwerda on 05/11/13 21:41 UTC
Linked by Thom Holwerda on 05/08/13 14:22 UTC
Linked by Thom Holwerda on 05/02/13 15:28 UTC
Linked by Thom Holwerda on 04/29/13 21:06 UTC
Linked by Thom Holwerda on 04/24/13 22:24 UTC
Linked by Thom Holwerda on 04/18/13 11:21 UTC
Linked by Thom Holwerda on 04/16/13 9:29 UTC
Linked by Thom Holwerda on 04/15/13 22:44 UTC
More Features »
Sponsored Links



Member since:
2009-12-10
If you are spending 20% of your cross platform development time on VS you're clearly doing something wrong. As the main author on a cross platform game SDK (clanlib.org) I've personally had the experience with cross platform coding between Windows, Linux and Mac. And I do not use 20% of my time getting code to work between the platforms.
A. Microsoft removed in-line assembly because they want you to use compiler intrinsics instead. They have several advantages over custom written assembly such as allowing the compiler to actually optimize your assembly. And the best part is that even though these intrinsics aren't part of the C++ standard, most of them are part of an Intel standard that all the different compilers support. Truly write once use everywhere (for the x86 platform). So why are you using hand-written assembly again?
B. I don't use vargs or much complex macros, so I really wouldn't know. However if you are trying to write something cross platform its rather stupid to insist doing things you can't do cross platform, isn't it? Maybe you should reconsider your coding style to be more compatible with multiple compilers.
C. Not sure what you are trying to say here.
D. Why are you using nmake? Self torture? Nobody uses nmake. Maybe you should try something like CMake if you want to only use one build system for all your platforms? Or if you insist on using a MS technology try maybe a normal vcxproj or perhaps even msbuild!
E. I assume you are referring to the strcpy extensions and so on. First of all, WHY would a C++ developer even use these functions? Self torture again? Secondly, you don't HAVE to use the extensions if you don't want to (hint: a simple define will disable the warnings it issues about using the unsafe versions). Thirdly, there's a very good reason why Microsoft want you to stop using them. They were the primary source of buffer overruns in their own software.
Just because you don't know how to write portable C++ code doesn't mean it is the fault of Visual C++. Most of the things you complained about isn't even part of any C++ standard (i.e. assembly and nmake).
I agree a nice cross platform build system would be nice, but so far I like the MS solution system a lot better than any unix alternative I've seen (make, automake, qmake, cmake). But 20% of your time? To add the .cpp files to a makefile? That's just trolling.