|
Are you linking a debug library with your release build?
Matt Newman Sonork: 100:11179
"Whoa, that ruled! What function key do I gotta press to get that to happen again?" - Strong Bad
|
|
|
|
|
no i am doing it seperately . it crashes during the release build
|
|
|
|
|
Sounds like an uninitialized variable or stepping outside the bounds of an array somewhere, particularly since it seems nondeterministic.
- Mike
|
|
|
|
|
How did you handle the message in your main window? Some requirements differ in debug mode than in release mode. For example:
#define WM_MY_MSG WM_APP + 1000
class CMyWindow : public CWhatever
{
protected:
afx_msg LRESULT OnMyMsg(WPARAM wParam, LPARAM lParam);
};</code>
Please let us know if this solves your problem.
|
|
|
|
|
I dont have words to thank you . what you suggested seems to work .
Thanks a million . Out of curiousity , how does one come to realize such VC++ trivia ?
i really would have broken my head figuring this one out . Thanks all of u .
|
|
|
|
|
how does one come to realize such VC++ trivia ?
i really would have broken my head figuring this one out .
Only figured it out after I broke mine.
Just kidding. I remember a year back I got exactly same problem as yours and I failed to figure it out by myself after weeks of researching, so i came to codeproject and posted my question in this forum, someone, I forgot his name(I do feel sorry about forgetting his name), posted the answer which immediately solved my problem. Hehe, it's funny the same story happens again today just so that now you be the asker and I be the answerer, life looks like a circle sometimes no?
|
|
|
|
|
Hi,
I'm trying (unsuccessfully so far) to use VS .NET 2003 to write an ANSI C++ program. I'm trying to write a set of Gui classes ground-up (well, SDL-up anyway). Problem is, when I create my classes in VS.NET, with such well-used names as CWindow, CButton etc, I'm told that the classes already exist, and am disallowed from creating them myself.
Now, I know MFC/WTL whatever has these classes, but how do I get VS to ignore those classes, which I don't want, and create mine instead?
If I have to remove libraries, and can do so on a project basis, that's fine.
Any help appreciated.
Phaedrus
|
|
|
|
|
In fact, I can't believe the result myself. But from my simple test, i found the matrix with 1024 alike is much slowly in memory access than 1023 or 1025.
I dont know the real reason.
My test program is very simple. My aim is test the memory copy cost in a matrix.
There are three parameters to used, M for the size of matrix, N for the rows or columns try to copy, and Z is make the program run longer to get a stable result.
#include <stdio.h>
#include <time.h>
#include <memory.h>
#include <stdlib.h>
void main(int argc, char** argv)
{
int M,N,Z;
M = atoi(argv[1]);
N = atoi(argv[2]);
Z = atoi(argv[3]);
char *buf, *buf2;
buf = new char[M*M];
memset(buf, 1, M*M);
buf2 = new char[M*M];
memset(buf2, 2, M*M);
int i,j,k;
clock_t a = clock();
for (k=0; k<Z; k++)
memcpy(buf2, buf, N*M);
clock_t b = clock();
for (k=0; k<Z; k++)
{
for (i=0; i<M; i++)
memcpy(&buf2[i*M], &buf[i*M], N);
}
clock_t c = clock();
printf("cost1 %ld const2 %ld\n", b-a, c-b);
}
The result I got:
Z is always 100000
M N Cost1 Cost2
1023 3 47 6000
1024 3 62 22750
1025 3 47 6516
2047 3 110 28000
2048 3 94 57093
2049 3 94 45187
You can see the weird result, 1024, 2048 has the worst performance against the smaller or bigger number.
I always use the power of 2 as matrix's side, but the test show i am wrong.
But any guru can tell what's the exact reason inside?
|
|
|
|
|
From what I see here:
for (k=0; k<Z; k++)<br />
{<br />
for (i=0; i<M; i++)<br />
memcpy(&buf2[i*M], &buf[i*M], N);<br />
}
majority of time you are just copying 3 bytes (assuming N=3) and not 1023,1024 and etc...
On first iteration however, I would think you spend more time multiplying N*M and considering that N=3 in no case you get power of 2...
"...Ability to type is not enough to become a Programmer. Unless you type in VB. But then again you have to type really fast..."
Me
|
|
|
|
|
The problem is not whether the script can be speed up or not. My script is just a speed tester.
The main trouble in the second loop.
Why 1024 perform much worse than 1023 and 1025 in the same program, even 1025 is bigger than 1024?
Any idea?
|
|
|
|
|
Why 1024 perform much worse than 1023 and 1025 in the same program, even 1025 is bigger than 1024?
You are not allocating 1024 bytes on the Heap and you are not copying 1024 bytes. So, what exactly you want to test?
If speed of memcpy -- then I'll give you an answer: the shorter the better -- just check the code: nothing specific to pow of 2...
If you assume that allocation with size 1024 would be alligned at 1024 address: wrong again -- that is true for HeapAlloc -- you are using new, which is default malloc that in reality is your requested size + 4 bytes in front to be returned by _msize()...
Now I agree, that getting non-linear results seems weird.
However, are you running any kind of optimization?...
I would recommend trying to decrease Z, while making N=M -- see what happens...
"...Ability to type is not enough to become a Programmer. Unless you type in VB. But then again you have to type really fast..."
Me
|
|
|
|
|
In fact, i am working on a tiled image application, each tile sometime need several rows or columns of data in nearby tile. This is the reason i write the tester.
In this situation, you will find 1024 is not a good selection, even you create a matrix with side of 1025 (but not use the extended 1 pixel) will work better than exactly 1024.
I think i didn't turn on any special optimization. Just use the default release option as console in vs7. I also copy my tester to other pc. The result is almost the same.
PS. my Os is win2k, CPU is P4 1.7G, Memory 512M
|
|
|
|
|
I have an edit box. I click Properties, then Border
and the border of the edit box goes away. The problem
is, the text in the box now appears way in the upper
left corner. Is there any way to not have a border
and make the text start down just a pixel or 2 (and
maybe to the right by 1-pixel)???
Please any response anyone can give me will be greatly
appreciated.
Sincerly,
Danielle (an overworked graduate student)
|
|
|
|
|
I don't think this is possible in the resource editor properties so you can either reduce the height of the edit control or do the following in code.
Try pEdit->SetRect() and position the rect vertically in the middle of the edit window. Use GetRecit() to get its current rect, then just update the top and bottom values.
Neville Franks, Author of ED for Windows. Free Trial at www.getsoft.com
|
|
|
|
|
When my application is runing ,other aplications of in Windows 2k don't work (when my application runing ,my application has a appropriation the operating system itself )
|
|
|
|
|
You're writing a virus ?
What is your question ? What does your program do ?
Christian
I have drunk the cool-aid and found it wan and bitter. - Chris Maunder
|
|
|
|
|
not virus , a user run my application ,don't ask him to run others ,the clients sue .this is for MIS . Do you understand ?
|
|
|
|
|
No, I don't understand. What does 'don't ask him to run others' mean ? What's MIS ?
Christian
I have drunk the cool-aid and found it wan and bitter. - Chris Maunder
|
|
|
|
|
After you run my application ,the other application will be stoped .MIS(manager Information System).thank you .
|
|
|
|
|
Stopped as in a killed process, or as in stops doing anything ? What is Manager Information System ? What does this app of yours do ?
Christian
I have drunk the cool-aid and found it wan and bitter. - Chris Maunder
|
|
|
|
|
|
Let's see - an anonymous guy won't tell me what his app is, or answer my other questions to try and figure out what his problem is. Should I be trying to help here ?
Christian
I have drunk the cool-aid and found it wan and bitter. - Chris Maunder
|
|
|
|
|
do you understand me ? are you a programmer ?
|
|
|
|
|
Check how many articles I have on this site and then you decide.
The problem is not who is and isn't a programmer, it's that you can't speak English ( which is not a crime ), and, more importantly, won't answer my questions. I still don't know if your program stops other processes from responding, or kills them. Did you understand when I asked you that ? Are you a programmer ?
Apart from that, you're secretive about what your program does, and you're posting anonymously. You need to be less rude if you want to act like that and still get people to help you.
Christian
I have drunk the cool-aid and found it wan and bitter. - Chris Maunder
|
|
|
|
|
hmm my guess is that, he wants his users not be able to run any other applications while his application is running, it probably works like a "lock" on the clients' machines: while my app is running, you cannot alt-tab out, cannot browse files/folders on the hard disks, cannot access "my computer" or "control panel", cannot do whatever until my app is terminated.
That I think is reasonable since computers in some public environments such as libraries or internet bars are acting like this, in a library you can use their computers to search for some particular books you needed, but you can't delete their files or run you own programs on that machine right?
Anyway, to the original poster, I think you might want to develop a program that runs in "full screen" and "exclusive" screen mode and install global hooks to disable system keys, such as "alt-tab", "ctrl-alt-del", etc... I'm not good on those stuff, though.
|
|
|
|
|