Internationalization of Products on Different C and C++ Platforms
Cherry Shu & Charles Wu - Everlasting Systems Limited
C and C++ are arguably the programming languages most widely used for the commercial development of software products. Globalization (I18N) of software written in C / C++ raises a range of issues. This paper addresses those issues. Particular reference is made to character sets and Unicode.
An overview is given of I18N issues in other commonly used programming languages to put C and C++ into context.
The paper then focuses on C and C++. The major differences between Standard C, Standard C++, MSVC++ and Unix C (Unix, Linux and Solaris) are compared and contrasted. Issues concerning character sets, libraries, APIs and locales etc. are highlighted.
The paper examines the major I18N issues and complexities on the various platforms and suggests methods of overcoming them. Issues considered include those of wide characters and multi-byte working, character address and pointer operations, and the handling of locale specific issues such as images, sounds, icons and flags.
In conclusion when undertaking I18N projects on C / C++ platforms it is necessary to have an understanding of the platform dependent issues involved. This is of even greater importance when working on products that are intended to be used across several platforms.
|When the world wants to talk, it speaks Unicode|
International Unicode Conferences are organized by Global Meeting Services, Inc., (GMS).
GMS is pleased to be able to offer the International Unicode Conferences under an exclusive
license granted by the Unicode Consortium. All responsibility for conference finances and
operations is borne by GMS. The independent conference board serves solely at the pleasure
of GMS and is composed of volunteers active in Unicode and in international software
development. All inquiries regarding International Unicode Conferences should be addressed
Unicode and the Unicode logo are registered trademarks of Unicode, Inc. Used with permission.
22 Jun 2001, Webmaster