|
Hi,
My sample dlg application having two buttons alloc and free. intially application size on memory is 2.5 mb. after allocating memory arround 100k the application size of memory is increased to 2.6 mb. now try to free the allocated memory after freeing the memory application is same as 2.6 mb.in the sample ok. but some huge amount of memory allocation and free and once allocation having problem. how to solve?
Thanks in Advance!
Have A Nice Day!
Murali.M
|
|
|
|
|
Post the code from your alloc and free functions so that we can take a look and help.
regards,
|
|
|
|
|
You seem to be confused on how the memory manager works. Just because you free 100KB of memory does not mean your address space (that number that folks look at via Task Manager) will suddenly shrink by 100KB. Those bytes are available for future allocation, but they still remain in your process' address space.
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
|
If you are using XP or greater you can use SetProcessWorkingSetSize to attempt to reduce pages in physical RAM. http://msdn2.microsoft.com/en-us/library/ms686234.aspx[^]
SetProcessWorkingSetSize(GetCurrentProcess(), -1, -1);
This is generally not recommended for most applications... the NT memory manager does a decent job. Your applications performance can suffer greatly if this function is abused.
Best Wishes,
-Randor (David Delaune)
|
|
|
|
|
hi i am having a list control in my dialog to list all the files and folders of drive. how to list subitems and open the file types. pls help me im new to this. i need some guidance
Arise Awake Stop Not Till ur Goal is Reached.
|
|
|
|
|
deeps_cute wrote: how to list subitems and open the file types.
Please explain.
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
i have to list files similar to windows explorer in my dialog.
Arise Awake Stop Not Till ur Goal is Reached.
|
|
|
|
|
For finding files, if you are using MFC, check out the CFileFind class.
Do you know how to add items to a list control?
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
Hi all,
Does anyone know of a good article on capturing images whilst using a digital camera using VC++ or even C#?
Many Thanks
Regards,
The only programmers that are better that C programmers are those who code in 1's and 0's
Programm3r
My Blog: ^_^
|
|
|
|
|
dont know any articles but these might help some code in c++ and
c#
good luck
|
|
|
|
|
I am using _UNICODE as a directive but want my code to compile without errors without _UNICODE.
Can anyone tell me is there any way to switch between functions same way i do for strings
#ifdef _UNICODE
typedef wchar_t TCHAR;
#define __T(x) L ## x
#else
typedef char TCHAR;
#define __T(x) x
#endif
can i do something same for wcscpy and _tcslen functions.
I am using wcscpy in wchar and strcpy for const char*
|
|
|
|
|
You can use _tcscpy which will be either strcpy or wcscpy , depending on _UNICODE .
|
|
|
|
|
As Rage mentioned....all the CRT string functions have a generic equivelant.
Here's a handy chart: Routine Mappings[^]
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Hi,
I am extremely sorry if this is not the correct forum to post this question.
Conditional break point on CString object is not working, while i have checked that with int datatype and it was working fine, and evaluating the condition correctly.
Best Regards,
Mushq
Mushtaque Ahmed Nizamani
Software Engineer
Ultimus Pakistan
"English is my second language; please excuse any grammatical or spelling mistakes"
|
|
|
|
|
Possibly it's evaluating the address of the CString which likely isn't changing. I suggest putting the breakpoint in the CString code itself if you want to catch a CString changing. You could even make that breakpoint conditional on the internal buffer contents to get straight to the one you want. CString itself is a wrapper around a character buffer which is where the change is that it looks like you want to catch.
Nothing is exactly what it seems but everything with seems can be unpicked.
|
|
|
|
|
Hello everybody,
I am a beginner in programming c++. I have to do a programm that compare a model file to another file (txt files), and if the beginnings of the files are the same, then i have to rename the file compared. This programme works, but i have to compare more than one file with the model file. Therefore i have copied and pasted the following programme several times in the programme:
a=0;<br />
vadves.open("vadves.txt",ios::in);<br />
fstream fichier10;<br />
fichier10.open("ICET0R.WZT.MXS.G0900V00.G2307215",ios::in);<br />
for (i=1;i<=55;i=i+1) {<br />
vadves>>c;<br />
fichier10>>c;<br />
}<br />
while(a==0) {<br />
vadves>>c;<br />
fichier10>>t;<br />
if (c==t&&!fichier10.eof()) {<br />
a=0;
} else { if (vadves.eof()) {
a=2; <br />
} else { a=1;<br />
}<br />
} <br />
<br />
}<br />
vadves.close();<br />
fichier10.close();<br />
if (a==1) {<br />
cout<<"fichier10 is not vadves";<br />
}<br />
if (a==2) {<br />
cout<<"fichier10 is vadves";<br />
rename("ICET0R.WZT.MXS.G0900V00.G2307215", ostr.str().c_str());<br />
}
But i have conclude that once the file model (vadves.txt) has been read i can´t re-read it, even if i close and open the flow vadves.
Therefore, i thought about keeping open the flow vadves and rewinding it. But i don´t know how to use the command rewind, i also heard about fstream command...
Moreover, the file to compar has a name which change every day but always begin with "ICETOR". So is there a command or a programme that could find and associate their name to a value that i could use in my programme? The best command would translate: "for every file beginning whose name begin with ICETOR do ..."
I would be very thankful if somebody could help me
It has been 3 days that i am on this programme... and i am starting to be fed up with it ...
Deep thanks
Guillaume
|
|
|
|
|
What you can do is read the header of the reference file once for all, and then open the other files and compare them against this header reference. You do not need to get rid of your reference stream everytime.
For finding the files, you could use CFileFind::FindFile and CFindFile::FindNextFile.
|
|
|
|
|
Ok, thank you very much.
I am going to try this!
Hope it will work!
|
|
|
|
|
It seems that to use the function CFileFind::FindFile i must have afxwin.h . Unfortunately i don´t have that. Do you know where i can find it?
Moreover concerning the command CFileFind::FindFile , for what i have understood, it could suits my programme to find files. But i don´t understand what kind of type it returns. Could you explain me? (i only have like 30hours of programmation )
Thank you very much!
|
|
|
|
|
|
Don't worry about CFileFind . It's an MFC class which you don't need to be bothered with at the moment. Focus on how to solve the problem first, then you can worry about what tool you want to use. Using simple C++ code will be more than enough.
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
garfaoui wrote: ...but i have to compare more than one file with the model file.
So why not just a variable in the call to fichier10.open() rather than a string literal? You could put all of your comparison code in a function, and call that function any number of times using a different filename each time. Make sense?
garfaoui wrote: for (i=1;i<=55;i=i+1) {
vadves>>c;
fichier10>>c;
}
I'm assuming this is for skipping the first 55 bytes of both files. Correct? If so, I believe there is a seekg() function that would be much more elegant.
garfaoui wrote: rename("ICET0R.WZT.MXS.G0900V00.G2307215", ostr.str().c_str());
What is the second argument to rename() ?
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
I didn´t call fichier10.open() simply because i don´t know this function. I am a real beginner!
Concerning the skipping of the 55 first bytes your right. And if i didn´t use the function seekg() it´s again because i didn´t know it exists, so i had to do without it. However, i am not trying to be elegant for now, i am just trying to have programm which works . But next time i have to do that kind of task be sure that i will use seekg()
And finally, the second argument is to put the date at the end of the name of file. It´s related with:
<br />
time_t date_codee;<br />
tm * date;<br />
ostringstream ostr(ostringstream::out);<br />
date_codee = time(NULL);<br />
date = localtime(&date_codee);<br />
ostr << "clippr-" <br />
<< date->tm_mday <br />
<<"-"<br />
<< date->tm_mon + 1 <br />
<<"-"<br />
<< date->tm_year + 1900<br />
<< ".txt";
So now, i have a running programme, but i still have a problem with the name of files which changes every day. I have tryied to get information about CFileFind::FindFile and CFindFile::FindNextFile , but i don´t understand...
Could anyone show me an exemple with wide comments?
Thank you
|
|
|
|
|
garfaoui wrote: I didn´t call fichier10.open()...
Sure you did. Check your original post.
garfaoui wrote: I have tryied to get information about CFileFind::FindFile and CFindFile::FindNextFile, but i don´t understand...
Nor should you, as that just adds unnecessary overhead. Forget MFC was even mentioned. Perhaps you need to look into _findfirst() and _findnext() instead.
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|