What do I need to learn for C Language Development in Linux?

Source: Internet
Author: User
What do I need to learn for C Language Development in Linux-general Linux technology-Linux programming and kernel information? For details, see below. I. Use of tools
1. Learn to use vim/emacs. vim/emacs is the most common source code editing tool in linux. You should not only use them to edit the source code, you must also learn to use them for search, location, and replacement. Vim is recommended for beginners, which is also the text editor I currently use.

2. Learn how to compile makefile files and use aclocal, autoconf, and automake tools to generate makefile files.

3. master the basic usage of gcc and gdb. Understanding the usage of gcc is very helpful for building a software package. When the software package contains many files, you can also use gcc to manually compile it, you will have a clear understanding of the dependencies between various files in the software package.

4. master the basic usage of svn/cvs. This is linux and the most common version management system in the open-source community. You can try to participate in some open source projects on sourceforge.

Ii. linux/unix system calls and Standard C library
The importance of a System calling an interface between an application software and an operating system must be mastered. The recommended learning material is Mr. steven's advanced programming for UNIX environments (APUE for short ).

Iii. Database Learning
No matter which platform is used for software development, it is very important to learn the database. There are many development libraries in linux. I will mainly introduce some of the libraries I often use.

1. glib Library
The glib library is the basic library of gtk + and gnome and is cross-platform. It can be used in linux, unix, and windows. The impact of glib library on linux platform development is just like the impact of MFC on windows platform development. Many open-source projects use the glib library in large quantities, including gimp, gnome, gaim, evolution, and heartbeat, a cluster software in linux. Because the glib library has a basic data structure implementation, you can learn the basic data structure (including linked list, tree, queue, and hash table) when learning the glib library ).

2. libxml Library
Libxml is a basic library for parsing XML files on the linux platform. Currently, many practical software programs use XML configuration files, so it is necessary to learn.

3. readline Library
The readline library is the library used by bash shell. To develop a command line program, you can use the readline library to reduce a lot of work, such as automatic completion of command lines in bash, the implementation has already been implemented in readline. Of course, you can also replace the library behavior with your own implementation. The readline library has many website introductions. You only need to google the readline library to find a bunch.

4. curses Library
The curses library was previously part of the vi Program, and was then extracted from vi to become an independent library. The curses library is particularly useful for writing terminal-related programs. For example, you need to locate the output in a certain column of a terminal line and change the terminal font color and terminal mode. The curses library in linux uses GNU-implemented ncurses (meaning new curses ).

5. gtk + and KDE Libraries
These two libraries are the basic libraries for developing GUI applications. Currently, most GUI programs in linux are developed based on these two libraries, and their learning is also necessary.

4. Network Learning
The network is too wide. We recommend that you learn more about Mr steven's UNIX Network Programming (UNP) and TCP/IP protocols. For more information, you can use libnet to write network programs.
Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.