I'd like to ask a few questions about compilers. I use Visual C++ 2005 Express Beta.
1) Can you use a different compiler with VC++2005Eb or do you have to use an other program then? Like when I want to use a 'not console' compiler, can I sill use VC++2005Eb with it?
2) Are there compilers to make programs for mobile phones, handhelds, etc. too? Not that I'm ready to make that kind of stuff yet, but I just want to know.
3) If the answer to Q#2 is 'yes', where can you download(/buy?) them?
4) What's the best compiler to start with after using the standard compiler given with VC++2005Eb, to make simple games or something.
2) It's called J2ME and it is Java.
3) As far as I know it is free http://java.sun.com]
Questions 1 and 4 I'm not sure what you mean.
1) 'non console' compiler? You can make windows programs with any compiler these days. Just include the windows.h header and use the API. It is not a compiler issue.
3)Microsoft has compilers for Windows CE, the OS that runs on pocket pcs. For palm apps there use to be a german company that offered a compiler and development environment for free, I'll see if I have that link. Codewarrior also provides and add in to allow you to compile for palm.
4) game programming, like windows programming is based on the libraries you include not the compiler. Now there are arguments over optimization and such, but basically if you want to get into graphics learn about DirectX or OpenGL.
Okay, thanks for answering. But how can you define which compiler you want to use? Or is the compiler built-in in the program you write it in? I don't know much about C++ yet...
The "program" you speak of is called an IDE (Integrated Development Environment). I don't think you always need one (you can always use notepad in windows), but if a compiler comes with an IDE then it's recommended that you use it because that IDE will make good use of all the functionality of the compiler, where a generic IDE would just be generic :)
But the answer is, yes you can change your IDE if you want.
Ok, thanks, but do you know how to do it in Visual C++ 2005 Express Beta?
1. Visual C++ beta is an IDE, and it can make either console or Windows programs. (I don't have it so I can't tell you how to configure it.)
2 & 3. It all depends on the platform (the hardware & operating system).
You need a compiler for that particular platform. For embedded systems, you tyicaly use a cross-compiler. A cross compiler runs on one platform (usually a PC) and generates code for another, say a Motorola microcontroller.
Typically, you get a compiler from the CPU/microcontroller manufacturer, or from a 3rd party compiler-company that supports that particular platform. There is probably a C or C++ compiler available for every avaliable CPU/Microcontroller.
If the device has an operating system, you should be able to get a compiler from the OS maker. Most embedded devices run without an operating system, or use a special-purpose OS such as VxWorks.
If the device is running WinCE, then you might be able to download and run a program compiled on a WinCE compiler. That is, if the device manufacturer has set-up the OS to allow user programs.
Most embedded devices cannot run a user-program! Where I work, we make several microcontroller based products. Most of them run a single-purpose program without an operating system. We write and compile the programs on a PC. We load the program into a flash chip (or EPROM) with a flash-EPROM programmer-device connected to one of the PC's ports. Then, the programmed chip is plugged-into a socket on the PC board. If you wanted to run your own program, you'd have to program and install your own flash/EPROM chip.
If the device is JAVA enabled, you can run a JAVA program.
4. Visual C++ has lot's of graphics & sound built-in. First learn standard (text based) ANSI/ISO C++. Then learn Windows programming. If the standard WinAPI graphics are not good enough for you, you can look into ActiveX, OpenGL, or other game libraries.