Programming Language Context
C++ Rulesets
Globalyzer supports several C++ rulesets. These have been designed to scan for unsafe methods that are specific to a corresponding C/C++ target platform.
ANSI UTF-8 Ruleset
This ruleset 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 ruleset, 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.
See I18N FAQ for C and C++ on UNIX platforms for more information.
ANSI UTF-16 Ruleset
This ruleset 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 ruleset, 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.
See I18N FAQ for C and C++ on UNIX platforms
for more information.
Microsoft Windows MBCS Ruleset
This ruleset 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
ruleset.
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 ruleset, 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 Ruleset
This ruleset 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 ruleset. 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 ruleset, 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 Ruleset
This ruleset should be used for Windows-only platforms, where the desired character encoding
will depend on a compiler flag (either _MBCS or _UNICODE) 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 Libary
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 ruleset, 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.
|