|
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.
| 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:
- 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.
- 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.
- 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.
- 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...
|
|