[clean-list] htoclean and dlls

Fergus Henderson fjh@cs.mu.oz.au
Fri, 7 Dec 2001 00:29:58 +1100


This post is really about Windows and DLLs and doesn't have much to do
with Clean.

On 06-Dec-2001, Jerzy Karczmarczuk <karczma@info.unicaen.fr> wrote:
> But some functions have "corrupted" names, with an additional "A" before @,
> say
> 
> VeryUsefulCallA@4
> 
> while the incriminated dll has no such A in the name, unless the huge 
> help file collection of Dev Studio hides The Truth.

I think the help file may well hide The Truth in this situation.

The "A" suffix stands for "ASCII", as opposed to Unicode.
Win32 routines which take string parameters generally have two
versions, one for ASCII strings, and one for Unicode strings.
I think the Win32 header files contain conditional #defines
for symbols like VeryUsefulCall, something along the general
lines of
	
	#if <use ASCII>
	  #define VeryUsefulCall VeryUsefulCallA
	#else /* use Unicode */
	  #define VeryUsefulCall VeryUsefulCall<some other suffix>
	#endif

with appropriate stuff in between the <...>.

-- 
Fergus Henderson <fjh@cs.mu.oz.au>  |  "I have always known that the pursuit
The University of Melbourne         |  of excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh>  |     -- the last words of T. S. Garp.