|
Does ayone who frequents this page use the Digital Mars C++ compiler for Win32 development?
I've recently got a freebie copy of it and had a go at compiling some existing code. So far so good but the Win32 headers it ship with seem to be way behind. I need SDK 6.1 compatibility which is clearly going to be tricky.
Their site doesn't seem to be very up to date, forums are dead for the past few months and most online docs look seriously old.
Is DMC still really a live product? Is it worth me shelling out for the full version on CD? Or has MS giving away express versions of Visual Studio killed off this alternative compiler?
Any ideas as to where else to go for some answers are welcome too.
"The secret of happiness is freedom, and the secret of freedom, courage."
Thucydides (B.C. 460-400)
|
|
|
|
|
I am trying to port a console chat server program to mfc
from the articles
when I declare
///////////////////////
SOCKET m_SClient;
SOCKET m_SListenClient; // socket listening for client calls
/////////////////////
I get the following, am i missing an include
unresolved external symbol __imp__listen@8
symbol __imp__bind@12
d external symbol __imp__socket@12
unresolved external symbol __imp__htons@4
unresolved external symbol __imp__WSAStartup@8
unresolved external symbol __imp__accept@12
unresolved external symbol __imp__send@16
unresolved external symbol __imp__recv@16
LNK1120: 8 unresolved externals
|
|
|
|
|
As stated by the documentation (see, for instance, [^]), you must link with ws2_32.lib library.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
|
|
here is the following statement,
//////////////////////////////////
list<SOCKET> m_vClientList; // All sockets connected to client
//////////////////////////////////
I have included the #include <list>
the program in question, is an internet chat, one server to many
clients
also a declartion in the header file
/////////////////////
int SendMessagePort(string sMessage);
//////////
has a problem with (string) I know that mfc deals with CString
but in this case it might help with my query.
I gather that I need an ---#include of somesort, do you know what it is.
thanks very much
modified on Saturday, October 4, 2008 12:38 PM
|
|
|
|
|
You've to include <list></list> , <string></string> and add the using namespace std; directive. For instance
#include <list>
#include <string>
using namespace std;
</string></list>
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
|
Hi all
please tell me how can i convert Convert CString[] to char[].
CString str[10];
char buff_1[]="";
buff_1= str;
error is "error C2440: '=' : cannot convert from 'CString [10]' to 'char [1]'"
Thanks in advance.
IN A DAY, WHEN YOU DON'T COME ACROSS ANY PROBLEMS - YOU CAN BE SURE THAT YOU ARE TRAVELLING IN A WRONG PATH
|
|
|
|
|
you should define buff_1 as char*:
char * buff_1;
and then:
buff_1 = (LPCTSTR)str; // for read-only purposes
buff_1 = str.GetBuffer(0); // for read-write, you will need to use ReleaseBuffer() later
Best regards,
Jaime.
|
|
|
|
|
They're two quite different entities:
(1) CString str[] is an array of strings.
(2) char buff[] is just 1 string.
hence the conversion does not make sense.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
"_$h@nky_" wrote: CString str[10];
I'm guessing thia is not what you think it is. It's an array of 10 CString objects, not an array that holds 10 characters. In any case, try:
const char *buff_1 = str[0];
"Love people and use things, not love things and use people." - Unknown
"The brick walls are there for a reason...to stop the people who don't want it badly enough." - Randy Pausch
|
|
|
|
|
hai,
i would like to display the coding.
Means, while i m running my C/C++ program the output should be of the program coding which i m execting.....
how can i do it? Help me!
Thanks for understanding!!!
|
|
|
|
|
You need to (A) debug a debugger or (B) dissasemble/decompile a dissasembler/decompiler
Then, the program running would be doing nothing other than producing output that contained the program's source-code
I don't understand your question, as it stands. The effort would be pointless - an act of 'because I can'
|
|
|
|
|
Thanks for immediate reeply
for example...
my program coding is..
#include<stdio.h>
#include<conio.h>
void main()
{
float n1,n2,ans;
}</conio.h></stdio.h>
And the program output should be....
#include<stdio.h>
#include<conio.h>
void main()
{
float n1,n2,ans;
}
how to achieve it?
thanks in advance
|
|
|
|
|
Ahhhh....
I was afraid you were going to say that or words to that effect.
What you're looking for is a decompiler or a dissasembler. The difference is in the 'high-level'ness of their output. A dissasembler will turn a piece of executable code into an assembly listing. A decompiler on the other hand, will produce C (or most any other high level language within reason) code from an executable.
While it is true that a fairly large number of people have written dissasemblers, the same
can't be said for decompilers. It is a notoriously difficult & complex subject.
HexRays has a product that will turn an exe file into C source code - it is the $2000 plugin for IDA Pro interactive dissasembler.
You can find more info on HexRays here (they have a free version of IDAPro)
http://www.hex-rays.com/products.shtml[^]
Also, here are some links to decompilers/dissasemblers that people have coded themselves:
http://www.woodmann.com/collaborative/tools/index.php/Category:Decompilers[^]
http://www.woodmann.com/collaborative/tools/index.php/Category:Disassemblers[^]
'luck.
|
|
|
|
|
thanks for your reply.
whether this can be achieve in .net easily? or someother language?
|
|
|
|
|
Pleasure.
In every case I can immediately think of, these tools are compiled to native code. This of course implies the use of C/C++, asm & pascal though I've no idea if anything .NET would be suitable or not - I would assume it to be possible, albeit slow in execution on account of the code being interpreted at runtime.
Lutz Roeder's .NET Reflector will give you the source code of a .NET executable. The Deblector & Reflexil plugins are invaluable - HOWEVER these are all only available as binaries, so of very little to no interest to somebody trying to create a tool that achieves the same task.
|
|
|
|
|
ah... this much complicated is there??? since this question was raised by my professor. He ask to find the answer and the coding for this.
|
|
|
|
|
The program that reproduces its own source as output is called quine (After American logician Willard Van Orman Quine). There are many ways to do it, but rather than I give you a complete working example, I'd appreciate if you google for quine and go through the results.
It's better to know some of the questions than all of the answers.
Pravin.
|
|
|
|
|
Hi,
Can I Use Visual Studio Express Edition 2008 for developing Commercial Application?
Thanks Saurabh For information, just need to confirm with the forum.
Thnaks everyone
Karmendra
|
|
|
|
|
Yes: see http://www.microsoft.com/express/support/faq/[^], question 7 .
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Hi all..
Can i fill my Moving dialog, Bubble Dialog with gradient color???
Can someone throw light on that??
Thanks..
|
|
|
|
|
My mind reader's on the blink today.
Try this on for size.
void GradientFillRect(HDC hdc, LPRECT rcGradient, COLORREF start, COLORREF end, BOOL isVertical)
{
BYTE startRed = GetRValue(start);
BYTE startGreen = GetGValue(start);
BYTE startBlue = GetBValue(start);
BYTE endRed = GetRValue(end);
BYTE endGreen = GetGValue(end);
BYTE endBlue = GetBValue(end);
HBRUSH endColor = CreateSolidBrush(end);
FillRect(hdc, rcGradient, endColor);
DeleteObject(endColor);
int dy = 1;
int length = (isVertical ? rcGradient->bottom - rcGradient->top : rcGradient->right - rcGradient->left) - dy;
for (int dn = 0; dn <= length; dn += dy)
{
BYTE currentRed = (BYTE)MulDiv(endRed-startRed, dn, length) + startRed;
BYTE currentGreen = (BYTE)MulDiv(endGreen-startGreen, dn, length) + startGreen;
BYTE currentBlue = (BYTE)MulDiv(endBlue-startBlue, dn, length) + startBlue;
RECT currentRect = {0};
if (isVertical)
{
currentRect.left = rcGradient->left;
currentRect.top = rcGradient->top + dn;
currentRect.right = currentRect.left + rcGradient->right - rcGradient->left;
currentRect.bottom = currentRect.top + dy;
}
else
{
currentRect.left = rcGradient->left + dn;
currentRect.top = rcGradient->top;
currentRect.right = currentRect.left + dy;
currentRect.bottom = currentRect.top + rcGradient->bottom - rcGradient->top;
}
HBRUSH currentColor = CreateSolidBrush(RGB(currentRed, currentGreen, currentBlue));
FillRect(hdc, ¤tRect, currentColor);
DeleteObject(currentColor);
}
}
|
|
|
|
|
Well just to be sure..Please explain some parameters..Because i tried and it didn't work..
void GradientFillRect(HDC hdc, LPRECT rcGradient, COLORREF start, COLORREF end, BOOL isVertical)
1. hdc is handle of device context(dialog box)..
hdc = GetDC(hWnd);
2. rcGradient is rect structure of my dialog box..
GetWindowRect(hWnd, &myWindowRect);
3. COLORREF start is my start color of blue (I need blue gradient)
The Blue hex number.
4. COLORREF end is my end color of blue.
The blue hex number (end).
5. BOOL isVertical???
|
|
|
|