C Linux open source projects [closed]
Sorry if this has been asked elsewhere. I am a C,Win32 developer and want to learn similar stuff in the linux world. What are the best and easy opensource projects for learning similar stuff on Linux.
Like in C,Win32 world i want to start off with User space and onto advance stuff like internals,device drivers etc. I am interested in Non UI stuff. As i have a day job and work extensively on Windows i would like to see short little projects and contribute to them in free time.
The GNU coreutils are probably as low-level and as "Linux-ey" (that's not really a word, is it?) as it gets in user space. Not always easy-to-read code, but most of those sections are bugfixes of one kind or another. So, you'll learn about some pitfalls of modern unix-like systems on the way. That, and most of the basic unix programming principles.
As most utilities are very small, just trying to rewrite some only with the spec from the manpage should give you insights into Linux (or unix for that matter) no tutorial can offer.
The book Linux Device Drivers is freely available. You can get a good overview of what's going on "under the hood" reading through that book. It also has several examples of "virtual" device drivers that don't interact with actual hardware. Follow the sample code and you can create things like a driver for /dev/null
, /dev/random
, etc without having to worry about hardware interfaces.
The best advice would be to pick one and stick with it no matter how overwhelming it is, once you get your feet wet in it, enjoy... this is a $64,000 question -
- What specific areas of C/Win32 did you enjoy most?
- Was it hardware based?
- Writing drivers?
No one can answer that nor expect to pick the answer for you, except yourself....
- What was it that gave you a "high" in the Win32 C world...
Once you have that answer, then look for that alternative, somewhere, in the Open Source world....and relax, participate in IRC channels, forums, and engage.
You may have to re-learn using make/gcc toolchains and autotools in order to get your feet grounded...if you're comfortable with that... excellent... :)
Some will have their coding style and standards set down in stone... so pick the easy project that you feel you'll get a kick out of, and above all, ENJOY! :D
what are you interested in ?
The nice thing about linux is that the source for almost everything is available.
精彩评论