$Account.OrganizationName
ACE News and Tips Newsletter Helping You Make the Most of ACE
May 2006

Dear ACE user,

Welcome to the combined April and May 2006 edition of Riverace's ACE News and Tips newsletter. This issue contains an important tip about using ACE with Visual Studio 2005, a reminder of where you can get the ACE 5.5 source kit, and the beginnings of what you can expect to see during ACE 6's development.

In this issue
  • Featured Book: The ACE Programmer's Guide (APG)
  • Using ACE 5.5 with Microsoft Visual Studio 2005
  • REMINDER: Recent Changes to Riverace's Supported Platforms
  • What Do You Want in ACE 6?

  • Using ACE 5.5 with Microsoft Visual Studio 2005

    The recently released ACE 5.5 (see the March 2006 issue for more details on ACE 5.5) is the first ACE release to support Microsoft's Visual Studio 2005. There is some potential confusion when using Visual Studio 2005 with ACE 5.5 that should be cleared up.

    Visual Studio 2005 uses a combination of solution and project files, just as Visual Studio .NET 2003 (VC7) does. As you may expect, the formats of these files differ between Visual Studio 2003 and 2005. However, both products use the same file suffixes. Thus, products such as ACE which contain solution and project files for both versions of Visual Studio have a problem. Users have to distinguish between multiple solution and project files that have the same suffix but are for different versions of Visual Studio.

    ACE resolved this issue by leaving the Visual Studio .NET 2003-supporting solution/project files as they were named in ACE 5.4. For example, the main ACE library files are ACE_wrappers/ace/ACE.sln and ACE.vcproj, the same as in ACE 5.4. The Visual Studio 2005-supporting files have _vc8 in the file name. For example, the main ACE library solution/project files are named ACE_wrappers/ace/ACE_vc8.sln and ACE_vc8.vcproj, respectively. If you mistakenly open the Visual Studio 2003 file ACE.sln from Visual Studio 2005, it will offer to convert it to the newer format for you. If this happens, refuse the conversion, close the solution and open the one with _vc8 in the name. There have been reports of Visual Studio 2005 crashing while converting the 2003-format files to 2005 format.

    But wait - there's more. Riverace added support for Windows CE 4 and Windows Mobile 5 in ACE 5.5 as well, both using Visual Studio 2005. Since the CE/Mobile projects can be rather large, and many users won't need them, the solution/project files supporting the CE/Mobile projects are separate from those for regular desktop/server Windows. Instead of a _vc8 in the file name, these files have a trailing _WinCE in the name. Thus, to build the ACE library for a Windows CE (or Windows Mobile) environment in Visual Studio 2005, use the ACE_wrappers/ace/ACE_WinCE.sln solution, which refers to the ACE_WinCE.vcproj project.

    If you're used to building ACE for Windows CE using the .vcw and .vcp files, those are for the older eMbedded Visual C++ compiler. You can still use those with that older compiler. Just be aware that Riverace dropped support for that compiler a number of years ago. You're encouraged to use Visual Studio 2005 for CE/Mobile development with ACE 5.5.

    As with all changes and new versions, questions arise about how to best make use of the new features. ACE Annual Support customers can always enter a support request or call and talk through your questions. We're here to help!


    REMINDER: Recent Changes to Riverace's Supported Platforms

    To ensure that we're devoting resources to the ACE platforms that matter to our loyal customers, we recently surveyed the technical support contacts at all of our ACE Annual Support customers. We very much appreciate the time taken to complete this important survey! Based on the results, we've made some minor changes to the set of computing platforms for which Riverace supports ACE.

    First, an interesting statistic on ACE version usage. 80% of those responding to the survey are using ACE 5.4, and 52% are using ACE 5.5. ACE 5.5 is off to a great start, no doubt spurred by support for the new platforms added for the ACE 5.5 release. We are very grateful to the customers who sponsored the new platforms' porting and qualification.

    Here are the recent changes in ACE platform support:

    1. HP-UX 11.00 using g++ was removed from support on all current and future ACE versions, effective April 1, 2006. This is the only platform with no reported usage in our survey.
    2. ACE 5.5 is the last ACE version to support HP-UX 11.00. Hewlett-Packard discontinued HP-UX 11.00 on January 31, 2005. HP intends to end support for HP-UX 11.00 on December 31, 2006. Furthermore, HP stopped providing updated aC++ versions for HP-UX 11.00 after the A.03.56 update, and future ACE versions will require the functionality of the newer HP compilers available only on HP-UX 11i. For more information on HP's plans for HP-UX 11.00 and other OS versions, please see: http://www.hp.com/softwarereleases/releases-media2/history/slide2.html.
    3. ACE 5.5 is the last ACE version to support the Sun Forte 7 compiler. Forte 7's inability to completely build ACE with implicit template support is the main issue in this decision. Future versions of ACE will require implicit template instantiation and this precludes Forte 7.
    4. ACE 5.5 is the last ACE version to support the Microsoft Visual C++ 6 compiler. The MSVC6 compiler has too many shortcomings that restrict the coding strategies that can be employed in ACE; therefore, support for it will be removed from ACE during development towards ACE 6.0.

    Note that Riverace's standard support policy is to support the current and previous ACE versions. This means that ACE 5.5 (including HP-UX 11.00, Sun Forte 7, and MSVC 6) will be supported, as long as ACE Annual Support customers continue to report usage, until ACE 6.1 is released or March 6, 2007, whichever is later. This is based on the current plan that the next ACE release after ACE 5.5 will be ACE 6.0, followed by ACE 6.1.

    Please contact Steve Huston with any questions about these platform changes or to inquire about how you can have a new platform added to Riverace's set of supported platforms.


    What Do You Want in ACE 6?

    The ACE 5.5 source kit was recently released. Recent newsletters have briefly listed the highlights for the new ACE version including new platform support and new features. Work has already begun on what is planned to become ACE 6!

    As you may guess from the planned major version upgrade (from the ACE 5 series to ACE 6) there are big plans afoot. There will be an effort to pare out support for old platforms and compilers that are no longer used and make the use of more modern C++ features possible inside of ACE. More about these will be fleshed out and announced as work moves further along.

    Riverace is planning an overhaul of the reference documentation to ACE. This is the class-level usage details that are generated from the source code itself using Doxygen. The reference documentation is lacking, to be polite about it. We're planning to improve it quite a bit. We're trying to come up with a way for people to contribute to this project in such a way that the pool of contributions can fund a large part of this work (it's a huge project!) and we remain accountable to all who contribute. If you have any ideas about this, or if you already know your company would be interested in funding this project, please email Steve Huston to discuss it.

    How about other ideas for the next ACE version? What would you like to see new? What can be improved?


    Featured Book: The ACE Programmer's Guide (APG)

    This is a practical, hands-on guide to ACE for C++ programmers building networked applications and next-generation middleware. The book first introduces ACE to beginners. It then explains how you can tap design patterns, frameworks, and ACE to produce effective, easily maintained software systems with less time and effort. The book features discussions of programming aids, interprocess communication (IPC) issues, process and thread management, shared memory, the ACE Service Configurator framework, timer management classes, the ACE Naming Service, and more.

    Buy it now from amazon.com...
    Quick Links...

    ACE Documentation

    ACE 5.4 Series Kits

    Latest ACE 5.5 Kit

    ACE Training Classes

    ACE Support Services

    Newsletter Archive

    More About Us



    Join our mailing list!
    phone: 888-384-8154