Programming Language Context
C++ Rule Sets
Globalyzer supports several C++ rule sets. These have been designed to scan for locale-sensitive methods that are specific to a corresponding C/C++ target platform.
ANSI UTF-8 Rule Set
This rule set should be used for UNIX/Linux platforms or for cross-platform development,
where ANSI functions are primarily used, and where the desired encoding for Unicode is UTF-8, a
multibyte character representation.
Globalyzer looks for functions that can cause problems in a UTF-8 implementation, such as
locale-sensitive functions, including date, time, number, currency, and character manipulation
routines. In addition, with the ANSI UTF-8 rule set, Globalyzer scans for functions where wide
characters are required or where there is no support for multibyte characters, and
recommends a replacement function if available.
Be sure to look at both the I18n Issues section as well as the Recommended Replacements
section of the specific function help. Often there is no alternate function to use, but there are
internationalization issues that should be addressed.
ANSI UTF-16 Rule Set
This rule set should be used for UNIX/Linux platforms or for cross-platform development,
where ANSI functions are primarily used, and where the desired encoding for Unicode is UTF-16
or UTF-32, using the wchar_t data type for wide character representation.
Globalyzer looks for functions that can cause problems in a UTF-16 or UTF-32 implementation, such as
locale-sensitive functions, including date, time, number, currency, and character manipulation
routines. In addition, with the ANSI UTF-16 rule set, Globalyzer scans for functions where
single-byte or multibyte characters are required, and recommends a wide-character replacement function
if available.
Be sure to look at both the I18n Issues section as well as the Recommended Replacements
section of the specific function help. Often there is no alternate function to use, but there are
internationalization issues that should be addressed.
Microsoft Windows MBCS Rule Set
This rule set should be used for Windows-only platforms, where Windows functions (which may be
compatible with ANSI C) are used, and where the desired encoding is MBCS, which uses one or two
bytes to represent a character. The _MBCS compiler flag should be set when using this
rule set.
Globalyzer looks for functions that can cause problems in a Windows MBCS implementation, such
as locale-sensitive functions, including date, time, number, currency, and character manipulation
routines. In addition, with the Windows MBCS rule set, Globalyzer scans for functions where wide or
only single-byte characters are required, and recommends a multibyte-character replacement function
if available.
Be sure to look at both the I18n Issues section as well as the Recommended Replacements
section of the specific function help. Often there is no alternate function to use, but there are
internationalization issues that should be addressed.
See the Support for Multibyte Character Sets (MBCS)
for more information.
Microsoft Windows Unicode Rule Set
This rule set should be used for Windows-only platforms, where Windows functions (which may be
compatible with ANSI C) are used, and where the desired encoding for Unicode is UTF-16, a
double-byte character representation. The _UNICODE compiler flag should be set when
using this rule set. In addition, if Windows 95/98/ME are a target platform, the Microsoft Layer
for Unicode library can be used as the interface between the Unicode application and the
non-Unicode OS. See the MSDN Libary
for more information on supporting Unicode on these earlier versions of Windows.
Globalyzer looks for functions that can cause problems in a Windows UTF-16 implementation,
such as locale-sensitive functions, including date, time, number, currency, and character
manipulation routines. In addition, with the Windows Unicode rule set, Globalyzer scans for
functions where single-byte or multibyte characters are required, and recommends a wide-character
function replacement if available.
Be sure to look at both the I18n Issues section as well as the Recommended Replacements
section of the specific function help. Often there is no alternate function to use, but there are
internationalization issues that should be addressed.
See Support for Unicode
for more information.
Microsoft Windows Generic Rule Set
This rule set should be used for Windows-only platforms, where the desired character encoding
will depend on a compiler flag setting to allow for
switching between MBCS and UTF-16 Unicode character representation.
In addition, if Windows 95/98/ME are a target platform, the Microsoft Layer
for Unicode library can be used as the interface between the Unicode application (i.e. when the
compiler flag is set to _UNICODE ) and the non-Unicode OS. See the
MSDN Library
for more information on supporting Unicode on these earlier versions of Windows.
Globalyzer looks for functions that can cause problems in a Windows Generic implementation,
such as locale-sensitive functions, including date, time, number, currency, and character
manipulation routines. In addition, with the Windows Generic rule set, Globalyzer scans for
functions where there is a corresponding Windows Generic function that should be used.
Be sure to look at both the I18n Issues section as well as the Recommended Replacements
section of the specific function help. Often there is no alternate function to use, but there are
internationalization issues that should be addressed.
See Using Generic-Text Mappings for more information.
Cross Platform UTF-8 Rule Set
This rule set should be used for cross-platform development, when you are unsure
if any platform-specific methods are being used. The target Unicode encoding when
using this rule set is UTF-8, a multibyte character representation.
Globalyzer looks for functions that can cause problems in a cross-platform
UTF-8 implementation, including all of the potentially problematic UTF-8 methods,
as well as Windows or Unix specific methods.
Be sure to look at both the I18n Issues section as well as the Recommended Replacements
section of the specific function help. Often there is no alternate function to use, but there are
internationalization issues that should be addressed.
Cross Platform UTF-16 Rule Set
This rule set should be used for cross-platform development, when you are unsure
if any platform-specific methods are being used. The target Unicode encoding when
using this rule set is UTF-16 or UTF-32.
Globalyzer looks for functions that can cause problems in a cross-platform
UTF-16 or UTF-32 implementation, including all of the potentially problematic
UTF-16 or UTF-32 methods, as well as Windows or Unix specific methods.
Be sure to look at both the I18n Issues section as well as the Recommended Replacements
section of the specific function help. Often there is no alternate function to use, but there are
internationalization issues that should be addressed.
Locale-Sensitive C++ Methods
|