Discussion:
DllEntryPoint@12
(too old to reply)
Gingko
2009-09-30 23:53:23 UTC
Permalink
Hello,

It happens that I am browsing in a DLL Visual Studio project (in VS 2005,
but actually converted from VS2003) that manually defines an entry point to
the DLL.

The Entry point is defined in the Project properties -> Link editor ->
Advanced -> Entry point (field names may be not accurate as I translate them
back from French) as the following string :

***@12

I would like to know where I can find documentation about this specific way
to write a symbol, that is, symbol name + "@" + numeric value.

My actual problem is that I try to convert this project for x64 compilation,
and in this mode, "***@12" is not recognised (that is, it is
reported "undefined") so I am trying to find what I should write instead.

(the original VS2003 compiler was not able to manage x64).

Best regards,

Gilles
Victor Bazarov
2009-10-01 00:59:27 UTC
Permalink
Post by Gingko
It happens that I am browsing in a DLL Visual Studio project (in VS 2005,
but actually converted from VS2003) that manually defines an entry point to
the DLL.
The Entry point is defined in the Project properties -> Link editor ->
Advanced -> Entry point (field names may be not accurate as I translate them
I would like to know where I can find documentation about this specific way
My actual problem is that I try to convert this project for x64 compilation,
reported "undefined") so I am trying to find what I should write instead.
(the original VS2003 compiler was not able to manage x64).
The number after the '@' is the total size of the arguments (the size
you'd need to adjust the stack for after calling this function). You
need to know what that function becomes when compiled with 64-bit
compiler. Try

dumpbin yourfilewiththatfunction.obj /symbols

and see which one has the DllEntryPoint in it.

V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask
Gingko
2009-10-01 21:04:39 UTC
Permalink
you'd need to adjust the stack for after calling this function). You need
to know what that function becomes when compiled with 64-bit compiler.
Try
dumpbin yourfilewiththatfunction.obj /symbols
and see which one has the DllEntryPoint in it.
Thank you very much for your answer.

I finally looked at the .map file for both compilations and found that using
"DllEntryPoint" (alone) is probably the replacement of ***@12.

It compiles properly, and seems to work.

Gilles
Ismo Salonen
2009-12-03 06:14:33 UTC
Permalink
Post by Gingko
you'd need to adjust the stack for after calling this function). You need
to know what that function becomes when compiled with 64-bit compiler.
Try
dumpbin yourfilewiththatfunction.obj /symbols
and see which one has the DllEntryPoint in it.
Thank you very much for your answer.
I finally looked at the .map file for both compilations and found that using
It compiles properly, and seems to work.
Gilles
The name sounds familiar, old ARX (autocad runtime extension) dll:s had
to have the dll entrypoint named like this, if I remember correctly it
was around acad14. Newer versions do not have this constraint.

ismo

Scot T Brennecke
2009-10-01 05:20:15 UTC
Permalink
Post by Gingko
Hello,
It happens that I am browsing in a DLL Visual Studio project (in VS 2005,
but actually converted from VS2003) that manually defines an entry point to
the DLL.
The Entry point is defined in the Project properties -> Link editor ->
Advanced -> Entry point (field names may be not accurate as I translate them
I would like to know where I can find documentation about this specific way
My actual problem is that I try to convert this project for x64 compilation,
reported "undefined") so I am trying to find what I should write instead.
(the original VS2003 compiler was not able to manage x64).
Best regards,
Gilles
You probably want to read these articles. There are lots of very informative sub-articles here too:

Exporting from a DLL:
http://msdn.microsoft.com/en-us/library/z4zxe9k8(VS.80).aspx
Decorated Names:
http://msdn.microsoft.com/en-us/library/56h2zst2(VS.80).aspx
Loading...