FIX: Truncated String from "#pragma comment(exestr, <string>)" (116445)
The information in this article applies to:
- Microsoft C/C++ for MS-DOS 7.0
- Microsoft Visual C++ 1.0
- Microsoft Visual C++ 1.5
- Microsoft Visual C++, 32-bit Professional Edition 2.0
This article was previously published under Q116445 SYMPTOMS
When you use "#pragma comment(exestr, <string>)" to place a text string,
<string>, into an executable module, the entire string is sometimes not
included.
CAUSE
Using Microsoft C/C++ version 7.0, Visual C++ for Windows, or Visual C++ 32-
bit versions 1.0 and 2.x, the problem occurs when an attempt is made to
embed a carriage-return (0x0D) or line-feed (0x0A) character somewhere
other than at the end of the string.
RESOLUTION
A compiler specific workaround exists for this problem. For Microsoft C/C++
version 7.0, Visual C++ for Windows, or Visual C++ 32-bit versions 1.0 and
2.x, place each carriage-return or line-feed character at the end of the
string.
The sample code in the MORE INFORMATION section below, demonstrates two
other methods to work around this problem. The first method is to declare a
character array in the application that contains the string to embed in the
file. This method places the string into the application's data segment.
The second method is similar to the first except that the compiler places
the string into the application's code segment, and therefore it does not
consume space in the data segment. Either of these methods loads the string
into memory when the application runs.
A fourth method is available to applications developed for the Microsoft
Windows operating system. Place the string into a STRINGTABLE resource. If
you want, you can specify the LOADONCALL attribute so that the string is
not loaded into memory until the application requires it.
STATUS
Microsoft has confirmed this to be a bug in the Microsoft products
listed at the beginning of this article. This bug was corrected in Visual
C++ version 4.0.
Modification Type: | Minor | Last Reviewed: | 7/5/2005 |
---|
Keywords: | kbbug kbCompiler kbfix kbVC400fix KB116445 |
---|
|