- memcpy - 4 Updates
- Utah C++ Programmers: Graphics and Audio with Cinder (March 11th) - 1 Update
Cholo Lennon <chololennon@hotmail.com>: Feb 12 05:58PM -0300 On 02/12/2015 04:49 PM, Christopher Pisz wrote: >> continuous builds on all intended platforms during development. > I've never seen a truly portable application, entirely in C++, in my > life. I think it a fantasy, but I live in a Windows bubble. I completely agree with you (and, in my case, I develop for several platforms) -- Cholo Lennon Bs.As. ARG |
Cholo Lennon <chololennon@hotmail.com>: Feb 12 05:52PM -0300 On 02/12/2015 04:21 PM, Ian Collins wrote: >> new core features in several platforms or modify code and recompile the >> entire base is very, very time-consuming :-( > Are you still using 80s compilers? No... my guidelines are: VC++ 2003/2005/2012, gcc 3.4.1/4.1.2/4.6. My code has to compile well with all of them (Luckily VC++ 2003 is almost dead in our production base). I love C++ but I can tell you, is not as easy as lots of people love to say. -- Cholo Lennon Bs.As. ARG |
David Brown <david.brown@hesbynett.no>: Feb 12 11:33PM +0100 On 12/02/15 20:49, Christopher Pisz wrote: > The only truly portable application I could see being done entirely in > C++ would be something that loaded data from file, manipulated it, and > saved it to file, from the command line. Being "portable" does not normally mean that exactly the same code is compiled and linked in exactly the same way for all platforms, and that it cannot use anything but the standards-specified libraries. With those restrictions, you cannot write much of a program on any single platform, never mind being portable. "Portable code" means that the same code base can be compiled for a variety of systems, using a minimal amount of target-specific code (with #if's as needed, or having some sort of abstraction layer). It also usually means using libraries that are designed to facilitate portable and cross-platform development, such as Qt or wxWidgets. So your portable code can be compiled and linked for Windows, Mac, Linux, Solaris, or whatever else you want to use - it does not have to be limited to the libraries and system calls that happen to be in a common subset of the bare OS's. |
Christopher Pisz <nospam@notanaddress.com>: Feb 12 05:13PM -0600 On 2/12/2015 4:33 PM, David Brown wrote: > it cannot use anything but the standards-specified libraries. With > those restrictions, you cannot write much of a program on any single > platform, never mind being portable. That's my point exactly. > #if's as needed, or having some sort of abstraction layer). It also > usually means using libraries that are designed to facilitate portable > and cross-platform development, such as Qt or wxWidgets. My opinion has always been that is the same thing as writing a project for OS A and a project for OS B, but merging it together, when you start plopping in #if preprocessor directives, scripting up compiler options, etc. My opinion is that it isn't portable at all, it might actually run on OS A and OS B after all is said and done, but it certainly won't run on OS C without more work and it just becomes more difficult to follow. I would think it far easier to create an entirely separate solution for OS A and an entirely separate solution for OS B, with them sharing the OS agnostic code from a common library that can be compiled for each. I suppose this common library would be where all the discussion on types and portability would apply. Those "portable" libraries do the same thing. They're really just libraries for Windows and Linux merged together into one. I'd rather have them separated and not deal with keeping track of define this for that and set this environment variable for that, when building. Portable to me, means it runs on anything, without any trickery to choose a separate execution path into OS specific code. In that regard, only interpreted languages can be portable. |
legalize+jeeves@mail.xmission.com (Richard): Feb 12 10:56PM [Please do not mail me a copy of your followup] Utah C++ Programmers meet up on the 2nd Wednesday of every month to broaden our knowledge of C++ programming practices and libraries. In our March meeting Richard Thomson will present cinder, a library for creating exciting multimedia applications in modern C++. We'll take a look at the 2D graphics, 3D graphics and audio features provided by cinder. Event details are here: <http://www.meetup.com/Utah-Cpp-Programmers/events/220487444/> Utah C++ Programmers meet ups are free to attend and everyone interested in C++ is invited to join us. -- "The Direct3D Graphics Pipeline" free book <http://tinyurl.com/d3d-pipeline> The Computer Graphics Museum <http://ComputerGraphicsMuseum.org> The Terminals Wiki <http://terminals.classiccmp.org> Legalize Adulthood! (my blog) <http://LegalizeAdulthood.wordpress.com> |
You received this digest because you're subscribed to updates for this group. You can change your settings on the group membership page. To unsubscribe from this group and stop receiving emails from it send an email to comp.lang.c+++unsubscribe@googlegroups.com. |
No comments:
Post a Comment