Click here to Skip to main content
16,005,552 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: free(pMemory) Pin
ravingcoder2-Sep-03 8:24
ravingcoder2-Sep-03 8:24 
Generalexporting std::string Pin
Jim Crafton2-Sep-03 7:46
Jim Crafton2-Sep-03 7:46 
GeneralRe: exporting std::string Pin
cmk2-Sep-03 7:52
cmk2-Sep-03 7:52 
GeneralRe: exporting std::string Pin
Neville Franks2-Sep-03 10:01
Neville Franks2-Sep-03 10:01 
GeneralRe: exporting std::string Pin
Navin2-Sep-03 10:22
Navin2-Sep-03 10:22 
GeneralRe: exporting std::string Pin
cmk2-Sep-03 14:05
cmk2-Sep-03 14:05 
Generalunicode woes Pin
Jim Crafton2-Sep-03 7:08
Jim Crafton2-Sep-03 7:08 
GeneralRe: unicode woes Pin
cmk2-Sep-03 7:50
cmk2-Sep-03 7:50 
Haven't looked at it, but run into similar bugs before.
It has always been the CRT (C RunTime Library).
What happens is because you are statically linking the CRT to both the DLL and the EXE there are 2 process heaps generated.
I would assume that std:wstring is allocating from one and trying to free/realloc in the other at some point via calls to malloc/realloc/free.
When you link CRT as dll in both DLL and EXE then only one process heap is generated.

Solutions :

1. As you have found link to CRT dll (this is what i've done). There are more reasons than just malloc/free, you would also have problems with fopen() files that are opened in the DLL won't be accessable in EXE. CreateFile() doesn't have this problem as the file structures are globally unique.

2. Write your own allocator for wstring that allocates from a new heap you create in the DLL (i do this as well).


...cmk

Save the whales - collect the whole set
GeneralRe: unicode woes Pin
Jim Crafton2-Sep-03 8:07
Jim Crafton2-Sep-03 8:07 
GeneralRe: unicode woes Pin
cmk2-Sep-03 9:12
cmk2-Sep-03 9:12 
GeneralMultiple views and single document Pin
Binayak2-Sep-03 6:34
Binayak2-Sep-03 6:34 
GeneralRe: Multiple views and single document Pin
palbano2-Sep-03 7:25
palbano2-Sep-03 7:25 
GeneralVC++ / MSAccess Date Handling Pin
msdaug2-Sep-03 6:15
msdaug2-Sep-03 6:15 
GeneralRe: VC++ / MSAccess Date Handling Pin
palbano2-Sep-03 6:56
palbano2-Sep-03 6:56 
GeneralRe: VC++ / MSAccess Date Handling Pin
msdaug2-Sep-03 9:56
msdaug2-Sep-03 9:56 
GeneralRe: VC++ / MSAccess Date Handling Pin
msdaug2-Sep-03 14:10
msdaug2-Sep-03 14:10 
GeneralRe: VC++ / MSAccess Date Handling Pin
Steve S3-Sep-03 2:23
Steve S3-Sep-03 2:23 
GeneralRe: VC++ / MSAccess Date Handling Pin
msdaug10-Sep-03 8:00
msdaug10-Sep-03 8:00 
GeneralHelp! Figure out whats wrong! FOR LOOP-ing! Pin
colormyiris2-Sep-03 5:50
colormyiris2-Sep-03 5:50 
GeneralRe: Help! Figure out whats wrong! FOR LOOP-ing! Pin
Ted Ferenc2-Sep-03 6:54
Ted Ferenc2-Sep-03 6:54 
GeneralRe: Help! Figure out whats wrong! FOR LOOP-ing! Pin
David Crow2-Sep-03 7:39
David Crow2-Sep-03 7:39 
GeneralRe: Help! Figure out whats wrong! FOR LOOP-ing! Pin
Ted Ferenc2-Sep-03 7:48
Ted Ferenc2-Sep-03 7:48 
GeneralRe: Help! Figure out whats wrong! FOR LOOP-ing! Pin
Andrew Allen2-Sep-03 10:10
Andrew Allen2-Sep-03 10:10 
GeneralRe: Help! Figure out whats wrong! FOR LOOP-ing! Pin
David Crow2-Sep-03 7:45
David Crow2-Sep-03 7:45 
GeneralI need a MMC expert Pin
YaronNir2-Sep-03 4:57
YaronNir2-Sep-03 4:57 

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.