Click here to Skip to main content
15,887,175 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: name decoration issue in DLL Pin
George_George6-Oct-08 22:53
George_George6-Oct-08 22:53 
GeneralRe: name decoration issue in DLL Pin
cmk7-Oct-08 4:54
cmk7-Oct-08 4:54 
GeneralRe: name decoration issue in DLL Pin
George_George7-Oct-08 22:18
George_George7-Oct-08 22:18 
GeneralRe: name decoration issue in DLL Pin
cmk8-Oct-08 4:24
cmk8-Oct-08 4:24 
GeneralRe: name decoration issue in DLL Pin
George_George8-Oct-08 21:40
George_George8-Oct-08 21:40 
GeneralRe: name decoration issue in DLL Pin
cmk9-Oct-08 2:11
cmk9-Oct-08 2:11 
GeneralRe: name decoration issue in DLL Pin
George_George9-Oct-08 3:04
George_George9-Oct-08 3:04 
GeneralRe: name decoration issue in DLL Pin
Bram van Kampen28-Oct-08 14:27
Bram van Kampen28-Oct-08 14:27 
George_George wrote:
In VC environment, both C and C++ are using the same compiler -- cl.exe?


Yes, but depending on the File Extension it uses either the 'C' or 'CPP' front end. The Backend is mostly the same for both. You can force the CPP compiler to treat a declaration as 'C' with the 'extern "C" ' directive. Decorated names are generated differently, and those end up in the obj files. The problem is the Linker. (the 'l' in cl). It is basically stupid, and does not care about C, CPP, or for that matter ALGOL, Pascal, or basic etc, and compiled languages yet to be invented. All it sees is a number of PE .obj files, and tries to do a job of linking names with addresses. It does not know (or care) that '_myfunc',in one obj file, and '??myfunc@ABUXZ0'in another obj are meant to mean the same thing.

N.B. There are ways of exporting names without decoration, by specifying the name in a DEF File. Be carefull though, the name decoration also encodes the calling convention. ( that is, How things are laidout on the stack, and how the task of cleaning up the stack is devided between the caller and the callee. If you just mix C and CPP, don't rename member functions to global, and only use __cdecl (the default), definitely NEVER __stdcall,__pascall, etc, you should be OK.

Hope this is helpfull.

regards Smile | :)

Bram van Kampen

GeneralRe: name decoration issue in DLL Pin
George_George30-Oct-08 3:26
George_George30-Oct-08 3:26 
GeneralRe: name decoration issue in DLL Pin
Bram van Kampen31-Oct-08 15:45
Bram van Kampen31-Oct-08 15:45 
QuestionBitmap on Wizrad [modified] Pin
john56325-Oct-08 0:29
john56325-Oct-08 0:29 
AnswerRe: Bitmap on Wizrad Pin
Hamid_RT5-Oct-08 2:04
Hamid_RT5-Oct-08 2:04 
GeneralRe: Bitmap on Wizrad Pin
john56325-Oct-08 3:07
john56325-Oct-08 3:07 
QuestionStatic variable in c/c++ Pin
Subrat 47082665-Oct-08 0:26
Subrat 47082665-Oct-08 0:26 
AnswerRe: Static variable in c/c++ Pin
montiee5-Oct-08 1:07
montiee5-Oct-08 1:07 
GeneralRe: Static variable in c/c++ Pin
Subrat 47082666-Oct-08 17:30
Subrat 47082666-Oct-08 17:30 
GeneralRe: Static variable in c/c++ Pin
montiee8-Oct-08 1:24
montiee8-Oct-08 1:24 
GeneralRe: Static variable in c/c++ Pin
Subrat 47082668-Oct-08 3:13
Subrat 47082668-Oct-08 3:13 
QuestionAutomatically appending an auto incrementing build number to Apps title in Visual Studio 2009..? [modified] Pin
montiee4-Oct-08 23:31
montiee4-Oct-08 23:31 
AnswerRe: Automatically appending an auto incrementing build number to Apps title in Visual Studio 2009..? Pin
Bram van Kampen5-Oct-08 2:49
Bram van Kampen5-Oct-08 2:49 
GeneralRe: Automatically appending an auto incrementing build number to Apps title in Visual Studio 2009..? Pin
montiee7-Oct-08 22:15
montiee7-Oct-08 22:15 
GeneralRe: Automatically appending an auto incrementing build number to Apps title in Visual Studio 2009..? Pin
Bram van Kampen9-Oct-08 15:54
Bram van Kampen9-Oct-08 15:54 
Questiondebugging release version build issue in managed code Pin
George_George4-Oct-08 22:07
George_George4-Oct-08 22:07 
QuestionDialog question Pin
yellowine4-Oct-08 18:52
yellowine4-Oct-08 18:52 
AnswerRe: Dialog question Pin
Cedric Moonen4-Oct-08 21:38
Cedric Moonen4-Oct-08 21:38 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.