Cross-Platform Development in C++: Building Mac OS X, Linux, by Syd Logan

By Syd Logan

Cross-Platform improvement in C++ is the definitive consultant to constructing transportable C/C++ software code that might run natively on home windows, Macintosh, and Linux/Unix structures with no compromising performance, usability, or caliber.

Long-time Mozilla and Netscape developer Syd Logan systematically addresses all of the technical and administration demanding situations linked to software program portability from making plans and layout via coding, trying out, and deployment. Drawing on his huge adventure with cross-platform improvement, Logan completely covers matters starting from using local APIs to the most recent thoughts for transportable GUI improvement. alongside the way in which, he demonstrates tips to in attaining characteristic parity whereas fending off the issues inherent to conventional cross-platform improvement ways.

This booklet can be an vital source for each software program expert and technical supervisor who's construction new cross-platform software program, porting latest C/C++ software program, or making plans software program which can sometime require cross-platform support.

Build Cross-Platform purposes with no Compromise 
Throughout the booklet, Logan illuminates his innovations with sensible situations and huge, downloadable code examples, together with an entire cross-platform GUI toolkit according to Mozilla’s XUL so that you can obtain, regulate, and research from. insurance includes 
* regulations and techniques utilized by Netscape, permitting them to send net browsers to hundreds of thousands of clients on home windows, Mac OS, and Linux
* offering performance and interfaces which are constant on all systems
* knowing key similarities and alterations between prime platform-specific GUI APIs, together with Win32/.NET, Cocoa, and Gtk+
* picking while and while to not use local IDEs and the way to restrict their influence on portability
* Leveraging standards-based APIs, together with POSIX and STL
* keeping off hidden portability pitfalls linked to floating element, char forms, information serialization, and kinds in C++
* using platform abstraction libraries equivalent to the Netscape transportable Runtime (NSPR)
* setting up a good cross-platform malicious program reporting and monitoring system
* developing builds for a number of systems and detecting construct disasters throughout systems after they occur
* realizing the local runtime surroundings and its impression on installation
* using wxWidgets to create multi-platform GUI functions from a unmarried code base
* completely checking out software portability
* figuring out cross-platform GUI toolkit layout with Trixul

Show description

Read Online or Download Cross-Platform Development in C++: Building Mac OS X, Linux, and Windows Applications PDF

Best development books

jQuery Cookbook: Solutions & Examples for jQuery Developers

jQuery simplifies construction wealthy, interactive internet frontends. Getting all started with this JavaScript library is straightforward, however it can take years to totally discover its breadth and intensity; this cookbook shortens the educational curve significantly. With those recipes, you'll examine styles and practices from 19 prime builders who use jQuery for every thing from integrating easy elements into web content and purposes to constructing complicated, high-performance consumer interfaces.

perfect for newbies and JavaScript veterans alike, jQuery Cookbook begins with the fundamentals after which strikes to useful use instances with demonstrated recommendations to universal net improvement hurdles. you furthermore mght get recipes on complex subject matters, comparable to equipment for utilizing jQuery to massive projects.

* remedy difficulties related to occasions, results, dimensions, types, issues, and consumer interface parts
* the right way to increase your kinds, and the way to put and reposition components on a web page
* utilize jQuery's occasion administration process, together with customized occasions and customized occasion info
* Create UI elements-such as tabs, accordions, and modals-from scratch
* Optimize your code to dispose of bottlenecks and make sure height functionality
* how one can try your jQuery applications

The book's individuals include:

* Cody Lindley
* James Padolsey
* Ralph Whitbeck
* Jonathan Sharp
* Michael Geary and Scott González
* Rebecca Murphey
* Remy Sharp
* Ariel Flesler
* Brian Cherne
* Jörn Zaefferer
* Mike Hostetler
* Nathan Smith
* Richard D. worthy
* Maggie Wachs, Scott Jehl, Todd Parker, and Patty Toland
* Rob Burns

Genes, Development and Cancer: The Life and Work of Edward B. Lewis

Whereas Edward B. (‘Ed’) Lewis is legendary for his contributions to genetics anddev- opmental biology y, few have learn his study papers. One cause of this can be availability, guy new york having been released in vague journalsor as ebook chapters. A moment is simply because his papers in these ? elds are very dif?

Social Development in Asia

Such a lot Asian nations have proven a robust dedication to swift financial improvement. Economists have argued that the end result from financial improvement could be unfold equitably through the inhabitants. within the absence of a powerful culture of social rights, social improvement in Asia has lengthy been taken without any consideration.

Additional info for Cross-Platform Development in C++: Building Mac OS X, Linux, and Windows Applications

Sample text

This object derives from a base class that defines an API to the platform-specific implementation; this API generally mirrors the one we seek to support. Our class, ProcessList, maintains a pointer to the class, and the factory is the object that will provide us this pointer. With a pointer to this object, the structure of Scan() becomes this: int ProcessList::Scan() { if (m_processesImpl) return m_processesImpl->Scan(); return -1; } Here, m_processesImpl is a pointer to the object that was provided by the factory.

However, you can see where this leads. As more and more platformspecific functionality is added, the number of #ifdefs will grow. To better manage this, and to be more object oriented about the whole thing, we can use a factory. In at least one implementation of the factory, #ifdefs are not entirely eliminated, but they are reduced to a single location, making code much more readable. In essence, what a factory does is allow us, within the body of the function Scan() (or other abstract API function defined in ProcessList), to request and obtain an object that can provide the needed platform-specific implementation.

This might not always be practical, however, and so I discuss strategies for dealing with binary data in Item 20. Standard Libraries The standard libraries (and headers) extend the capabilities provided by the core C and C++ languages. Portability is a central motivation for having a standard library. h>, among several others. Functions and macros declared in these headers, including strncmp(), getchar(), printf(), malloc(), fopen(), and countless others, have been used by nearly every C program that has ever been written.

Download PDF sample

Rated 4.20 of 5 – based on 6 votes