For the simple stuff yourC/ C++ programs should look exactly the same between Windows and Linux. That is, you write your program and it'll compile just fine on either OS.how you compile it may be a bit different, though, depending on how you have each machine set up.
When you start getting into graphics/GUI stuff (or drivers/kernel hacking,depending on which way you decide to go), that's when it becomes a little different, and your choice of library will dictate on what systems your program can compile and run.again.In terms of GUI programming.On Windows, most people use either MFC (old) or .net WinForms (new) for GUIs. On linux, you have a choice of gui-toolkits: GTK+, Qt, Motif (heaven forbid), FLTK, FX, Tk, wxWidgets etc... Of these, many are cross-platform, so you can develop programs which compile and run on both Windows and linux. However, the concept of cross-platform development tends to not occur to Windows developers. :sad:
Access to the hardware is totally different between Windows and linux, although there are a few cases where manufacturers have made a linux driver available which works the same way as the Windows driver. Experience has shown the OSS drivers to be of higher quality than proprietary ones, however.
There are also differences in the way the system handles processes, threads, sockets etc..
Finally, desktop services may be different between platforms: print system, notification system etc.
And to start with keil in linux,Its not a hard task.Just have a look here :-
**broken link removed**