Riverace's ACE News and Tips Newsletter   Helping You Make the Most of ACE
April 2007

Dear Steve,

Welcome to the April 2007 edition of Riverace's ACE News and Tips newsletter. This issue contains an advance look at some of the things coming in ACE 5.6 later this spring as well as information on our upcoming ACE training class.

If, after reading this issue, you'd like to get some new feature into ACE, please let us know! Also be sure to forward this note to other people you work with to be sure they get their input registered as well!

In this issue
  • Featured Book: The ACE Programmer's Guide (APG)
  • What's Coming in ACE 5.6? (part 3)
  • Upcoming "How to Use ACE Effectively" Class: May 1-4, 2007

  • What's Coming in ACE 5.6? (part 3)

    February's and March's newsletters were the first two of this series looking at what's coming in the next ACE release, ACE 5.6. This article is the third of the series and we'll continue until ACE 5.6 is released.

    As with the previous articles, we note that all user-visible changes to ACE are described in the ACE_wrappers/NEWS file of each ACE beta as development progresses. You can review that file here.

    This issues described in this article were triggered by Microsoft Visual Studio .NET 2005 (aka VC8) changes. Two items that changed from VC7.1 to VC8 are involved:

    1. The time_t type changed from 32 bits to 64 bits (yes, this can be changed, but the default is now 64 bits).
    2. Microsoft introduced a large set of C Run-Time Library functions which offer parameters allowing safer use of the C run-time.
    These items affect ACE in two ways: API changes and compile warnings. The first way affects all ACE users; the second only those users building and using ACE with VC8. We'll examine each separately.

    The time_t change forced a reexamination of the places in ACE that assumed a time_t is 32 bits, which is most often the case, even on many 64-bit systems. The primary change needed were places that sent a time value over a network connection, such as to the logging server or the ACE netsvcs time and name services. These were changed to always carry 64 bit time values on the network. The items to note here are:

    • The ACE logging service daemons and the ACE logger in ACE 5.5.7 and forward will not interoperate with pre-5.5.7 daemons/logger.
    • ACE Naming and Time service clients and daemons from ACE 5.5.7 forward will not interoperate with those from before 5.5.7.
    • The timestamp argument to the ACE_Log_Record class constructor changed from long to time_t. This may affect users who write logging backends or callbacks.

    The second area of change related to VC8's changes concerns compiler warnings. When Microsoft added the alternative, safer, CRT functions, the compiler began issuing warnings for use of the older, standard C run-time functions. For more information on the C run-time issues and Microsoft's response, please see this MSDN page.

    ACE's VC8 configuration file was using #pragma directives to disable the C run-time-related warnings. That had the side affect of disabling the warnings for all source code that included, directly or indirectly, any ACE header file when built using VC8. After reviewing the ACE source code for places where the new C run-time functions could be used, the remaining warnings were suppressed using compile options; the pragma directives were removed. This change removes the indirect disabling of the warnings for code that includes ACE header files. Therefore, compiling your code with the new ACE may generate warnings related to the Microsoft C run-time functions that were previously suppressed. We recommend that you evaluate the warnings and either change calls or, if you desire, suppress the warnings locally in your source code.

    If you want to experiment with this upcoming change before ACE 5.6 is released, grab a copy of the latest ACE beta and try it out! If you get stuck or have questions, our new Whitewater Level of ACE support can help you get going quickly.

    Upcoming "How to Use ACE Effectively" Class: May 1-4, 2007

    Want your nights and weekends back? Learn how to make ACE work for you!

    ACE is very powerful and very flexible. But to finish your projects on time and get your nights and weekends back, it may be useful to have an expert help you make the best use of ACE's power. We can help sort it all out and get you programming with ACE like a pro! We've scheduled an open enrollment How to Use ACE Effectively class for May 1-4, 2007 in Waltham, MA (in the Boston area). This 4-day class is priced at US$1,500 including continental breakfast, snacks and lunch each day. Each attendee receives a copy of the class slides and a copy of The ACE Programmer's Guide (one of the authors, Steve Huston, will be teaching the class and would be happy to sign anyone's book).

    Registration is open until April 26, 2007, and space is filling up so don't wait! For more information and to sign up, please click on the "May 1-4, 2007 Signup" link at http://www.riverace.com/training.htm. Don't miss out on this! You'll also find a PDF file for multiple enrollments and for payment other than by credit card. That form is also available here: http://www.riverace.com/classreg_may_2007.pdf.

    Also, please note that attendees get a 10% savings on ACE Annual Support purchased when you pay for your class! Take advantage of this opportunity to make the most of your new ACE knowledge and keep the momentum going back at the office with quick answers and direction on your project's issues!

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

    Now in its fourth printing, APG 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 Downloads

    ACE Training Classes

    ACE Support Services

    Newsletter Archive

    More About Us

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