Click here to Skip to main content
16,011,957 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralMultiline List On WinCE Pin
17-Jan-01 2:54
suss17-Jan-01 2:54 
GeneralCPropertysheet and titles Pin
Kevin Gutteridge16-Jan-01 23:57
Kevin Gutteridge16-Jan-01 23:57 
GeneralRe: CPropertysheet and titles Pin
17-Jan-01 1:13
suss17-Jan-01 1:13 
GeneralRe: CPropertysheet and titles Pin
Kevin Gutteridge17-Jan-01 6:24
Kevin Gutteridge17-Jan-01 6:24 
GeneralRe: CPropertysheet and titles Pin
David Fedolfi17-Jan-01 6:37
David Fedolfi17-Jan-01 6:37 
GeneralRe: CPropertysheet and titles Pin
Kevin Gutteridge18-Jan-01 0:15
Kevin Gutteridge18-Jan-01 0:15 
GeneralReport Writer Pin
16-Jan-01 22:29
suss16-Jan-01 22:29 
Generalconstant String Memory Usage Pin
16-Jan-01 19:15
suss16-Jan-01 19:15 
Environment: VC++ 6.0, Windows NT 4.0

I'm trying to write a app that talks to a database
via Embedded SQL statements. The app is designed to run
continuously, looping through a small amount of code.
The Problem is that while generating the SQL statements,
memory is leaked by Constant Assigned Strings.
eg. CString fred = "fred";

The following code written to check memory usage:

void CTestSQLStringDlg::OnButton1() {
while(1) {
CMemoryState m1, m2, mdiff;
m1.Checkpoint();
fred();
m2.Checkpoint();
mdiff.Difference(m1, m2);
mdiff.DumpStatistics();
TRACE("\n");
}
}
void CTestSQLStringDlg::fred(){
CString string ="hello";
}

The Results (irrelevant data removed) were, after two loops:
mdiff - Total allocations: 18 bytes.
m1 - Total allocations: 7240 bytes.
mdiff - Total allocations: 18 bytes.
m1 - Total allocations: 7258 bytes.

As can be seen, each time through the loop, the Total Memory Allocations
increases by 18 bytes.

If a global CString is used, there is no memory leak ie:
CString str = "hello";
void CTestSQLStringDlg::fred(){
CString string =str;
}

Although I can use this workaround, it is very impractical to Globally
declare all of the constant strings I need.

I would like to know why this memory leak occurs or an alternate
practical work around??

Thanks
Simon


GeneralRe: constant String Memory Usage Pin
Walter Gildersleeve18-Jan-01 1:05
Walter Gildersleeve18-Jan-01 1:05 
GeneralRe: constant String Memory Usage Pin
Jim Howard18-Jan-01 5:20
Jim Howard18-Jan-01 5:20 
GeneralRe: constant String Memory Usage Pin
Ghazi H. Wadi18-Jan-01 6:30
Ghazi H. Wadi18-Jan-01 6:30 
GeneralRe: constant String Memory Usage Pin
Jim Howard18-Jan-01 6:50
Jim Howard18-Jan-01 6:50 
GeneralRe: constant String Memory Usage Pin
Ghazi H. Wadi18-Jan-01 7:22
Ghazi H. Wadi18-Jan-01 7:22 
GeneralRe: constant String Memory Usage Pin
Erik Funkenbusch18-Jan-01 10:53
Erik Funkenbusch18-Jan-01 10:53 
GeneralJihad! GetBuffer/ReleaseBuffer considered Evil Pin
Jim Howard18-Jan-01 11:29
Jim Howard18-Jan-01 11:29 
GeneralJihad! GetBuffer/ReleaseBuffer considered Evil - Part II Pin
Jim Howard18-Jan-01 12:08
Jim Howard18-Jan-01 12:08 
GeneralRe: Jihad! GetBuffer/ReleaseBuffer considered Evil - Part II Pin
Erik Funkenbusch18-Jan-01 12:56
Erik Funkenbusch18-Jan-01 12:56 
GeneralRe: Jihad! GetBuffer/ReleaseBuffer considered Evil - Part II Pin
18-Jan-01 13:17
suss18-Jan-01 13:17 
GeneralRe: Jihad! GetBuffer/ReleaseBuffer considered Evil - Part II Pin
19-Jan-01 6:28
suss19-Jan-01 6:28 
GeneralRe: Jihad! GetBuffer/ReleaseBuffer considered Evil - Part II Pin
Erik Funkenbusch19-Jan-01 19:36
Erik Funkenbusch19-Jan-01 19:36 
GeneralRe: Jihad! GetBuffer/ReleaseBuffer considered Evil - Part II Pin
22-Jan-01 4:23
suss22-Jan-01 4:23 
GeneralRe: Jihad! GetBuffer/ReleaseBuffer considered Evil - Part II Pin
Erik Funkenbusch22-Jan-01 13:04
Erik Funkenbusch22-Jan-01 13:04 
GeneralRe: Jihad! GetBuffer/ReleaseBuffer considered Evil - Part II Pin
James R. Twine30-Jan-01 10:15
James R. Twine30-Jan-01 10:15 
GeneralRe: Jihad! GetBuffer/ReleaseBuffer considered Evil - Part II Pin
Erik Funkenbusch31-Jan-01 13:22
Erik Funkenbusch31-Jan-01 13:22 
GeneralRe: Jihad! GetBuffer/ReleaseBuffer considered Evil - Part II Pin
James R. Twine2-Feb-01 7:17
James R. Twine2-Feb-01 7:17 

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.