|
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!
| 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:
- The
time_t type changed from 32 bits to 64
bits (yes, this can be changed, but the default is now 64
bits).
- 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...
|
|