<p>When we compile a dll using __stdcall inside visual studio 2008 the compiled function names inside the dll are.</p>

<p>FunctionName</p>

<p>Though when we compile the same dll using GCC using wx-dev-cpp GCC appends the number of paramers the function has, so the name of the function using Dependency walker looks like.</p>

<p>FunctionName@numberOfParameters or == FunctionName@8</p>

<p>How do you tell GCC compiler to remove @nn from exported symbols in the dll?</p>

__stdcall decorates the function name by adding an underscore to the start, and the number of bytes of parameters to the end (separated by @).
So, a function:
```
```
void __stdcall Foo(int a, int b);
```
```
...would become _Foo@8.
If you list the function name (undecorated) in the EXPORTS section of your .DEF file, it is exported undecorated.
Perhaps this is the difference?