hello all
which is the best C++ compiler to program.
i mean 100 % ANSI Compliant C++ compiler.
MS VC++ 6.0 is not ANSI compliant.
what about MS VC++ 7.0 ???/
Any other compilers??
suggest me...
Printable View
hello all
which is the best C++ compiler to program.
i mean 100 % ANSI Compliant C++ compiler.
MS VC++ 6.0 is not ANSI compliant.
what about MS VC++ 7.0 ???/
Any other compilers??
suggest me...
MinGW with gcc 3.3.1 or MSVC++ 7 2003
GCC from http://gcc.gnu.org/ and its Win32 port CYGWIN from http://www.cygwin.com/.
Borland is pretty good
check out Comeau front-end compiler (includes export support)
http://www.comeaucomputing.com/index.html
what about
Blood shed Dev - C++
any idea?/
I want to use Win32 API and C++ only.
not MFCs .So i nee not MS VC7
.
for that which one is best
????
Can i write Win32 programs under Borland?
I have not used anything apart from MS
:)
but now i want to try...
VC++ 7.1 is very close to being 100% compliant.
Don't bother with 7.0 version. It has a lot of the problems that 6.0 had.
i hesitate to believe MS C++ compiler now.
Can Borland C++ or Dev-C++ serve my purpose??
???????????????
to write Win32 programs (without MFC) !!!!
Dev-C++ can do Win32 API code, but it will not have the same level of optimization that you can get with VC++ 7.1.Quote:
Can Borland C++ or Dev-C++ serve my purpose??
I don't think Borland C++ is as compliant as VC++ 7.1.
For me (Individually) It still depends on what programs you are writing...Quote:
Originally posted by kumaru_san
i hesitate to believe MS C++ compiler now.
Can Borland C++ or Dev-C++ serve my purpose??
???????????????
to write Win32 programs (without MFC) !!!!
But since I have been using Borland C++ for a long time, I think B C++ can also serve your purpose and as you already knew Borland compiler is not a bad one right ? :)
The latest (Nov. 2003) issue of Dr Dobb's Journal has
an article on this very topic. According to that, the
top compilers for ISO comformance are:
Compiler %Passed
----------- -----------
edg 3.2 99.70
Comeau 4.3.2 99.55
Intel 7.1 99.55
PGCC 4.1-2 99.11
VC++7.1 98.22
gcc 3.3 96.14
Borland 6.0 92.73
Watcom 1.0 78.49
Of course, ISO conformance is just one among many
factors that you must consider when deciding which
compiler is best.
thanks for the statistics..
really great.
i will choose according to that..
thanks for all gurus replied so far.
[Moved thread]
Very good info!Quote:
Originally posted by kochhar
The latest (Nov. 2003) issue of Dr Dobb's Journal has
an article on this very topic. According to that, the
top compilers for ISO comformance are:
Compiler %Passed
----------- -----------
edg 3.2 99.70
Comeau 4.3.2 99.55
Intel 7.1 99.55
PGCC 4.1-2 99.11
VC++7.1 98.22
gcc 3.3 96.14
Borland 6.0 92.73
Watcom 1.0 78.49
Of course, ISO conformance is just one among many
factors that you must consider when deciding which
compiler is best.
Is there a link for the above information?
CYGWIN is NOT the Win32 port of GCC.Quote:
Originally posted by manbaum
GCC from http://gcc.gnu.org/ and its Win32 port CYGWIN from http://www.cygwin.com/.
MinGW is the port of GCC to windows. Not saying CYGWIN is bad.
Blood Shed is NOT a compiler. It is an IDE similar to how MSVC++ is. BloodShed uses MinGW with gcc 3.3 to compile, so the compiler it comes with is pretty **** good.Quote:
Originally posted by kumaru_san
what about
Blood shed Dev - C++
any idea?/
You can write win32 applications under anything.Quote:
Originally posted by kumaru_san
I want to use Win32 API and C++ only.
not MFCs .So i nee not MS VC7
.
for that which one is best
????
Can i write Win32 programs under Borland?
I have not used anything apart from MS
:)
but now i want to try...
For 1, you may want to check out www.wxwindows.org which doesn't use the win32 API, it uses it's own which means it can be compiled on Linux, Windows, Mac OS X, ect...
But if you really just want win32 application, you can compile it with MinGW, I'm sure borland and the others.
To use the Win32 API, it isn't difficult. Here is a sample application, it's just a window and most of it is fairly self explainatory (this compiles on MinGW/BloodShed and MSVC++)
Code:#include <windows.h>
/* Declare Windows procedure */
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);
/* Make the class name into a global variable */
char szClassName[ ] = "WindowsApp";
int WINAPI WinMain (HINSTANCE hThisInstance,
HINSTANCE hPrevInstance,
LPSTR lpszArgument,
int nFunsterStil)
{
HWND hwnd; /* This is the handle for our window */
MSG messages; /* Here messages to the application are saved */
WNDCLASSEX wincl; /* Data structure for the windowclass */
/* The Window structure */
wincl.hInstance = hThisInstance;
wincl.lpszClassName = szClassName;
wincl.lpfnWndProc = WindowProcedure; /* This function is called by windows */
wincl.style = CS_DBLCLKS; /* Catch double-clicks */
wincl.cbSize = sizeof (WNDCLASSEX);
/* Use default icon and mouse-pointer */
wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
wincl.lpszMenuName = NULL; /* No menu */
wincl.cbClsExtra = 0; /* No extra bytes after the window class */
wincl.cbWndExtra = 0; /* structure or the window instance */
/* Use Windows's default color as the background of the window */
wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;
/* Register the window class, and if it fails quit the program */
if (!RegisterClassEx (&wincl))
return 0;
/* The class is registered, let's create the program*/
hwnd = CreateWindowEx (
0, /* Extended possibilites for variation */
szClassName, /* Classname */
"Testing Prog", /* Title Text */
WS_OVERLAPPEDWINDOW, /* default window */
CW_USEDEFAULT, /* Windows decides the position */
CW_USEDEFAULT, /* where the window ends up on the screen */
544, /* The programs width */
375, /* and height in pixels */
HWND_DESKTOP, /* The window is a child-window to desktop */
NULL, /* No menu */
hThisInstance, /* Program Instance handler */
NULL /* No Window Creation data */
);
/* Make the window visible on the screen */
ShowWindow (hwnd, nFunsterStil);
/* Run the message loop. It will run until GetMessage() returns 0 */
while (GetMessage (&messages, NULL, 0, 0))
{
/* Translate virtual-key messages into character messages */
TranslateMessage(&messages);
/* Send message to WindowProcedure */
DispatchMessage(&messages);
}
/* The program return-value is 0 - The value that PostQuitMessage() gave */
return messages.wParam;
}
/* This function is called by the Windows function DispatchMessage() */
LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message) /* handle the messages */
{
case WM_DESTROY:
PostQuitMessage (0); /* send a WM_QUIT to the message queue */
break;
default: /* for messages that we don't deal with */
return DefWindowProc (hwnd, message, wParam, lParam);
}
return 0;
}