Resolve the difficulty Linux C / C ++ development Where

Frequently asked questions, how to learn C ++, how to learn Linux, how to get started?

Actually, this is often not the same answers for different people, the environment in which each person is different. A common phenomenon is the basis for the development of some windows of people who would like to turn the development of Linux, then I will take this point and we discuss.

With respect to the C / C ++ development under Linux, in the windows of beginners often easy to get started, because visual studio, this powerful tool to hide a lot of details, a lot of people even thought mop control, write a message response function is the software engineers, and this is particularly evident at the time of entry, a maverick tiger, full of confidence. But behind this powerful tool, and too many hidden things, many of which for us is very important things, such as Make, debug, call stack, assembly code, OS, which functions are provided by the system, which is a tool which provided. So many people, it tends to turn to the previous analogy windows of knowledge, but they do not last, coupled with no instructions, no work may slowly lose confidence.

 

But I think as a software engineer to pursue, if not understand Linux, I do not think he's qualified, of course, here not intend to provoke a platform wars, it is a software engineer for Linux gives us another option, another ideas, while also providing us a lot of wheels and a treasure.

 

Below summarize some suggestions, hoping to turn Windows Linux developers to help a friend.

1. Do not start to engage in the kernel, first installed Linux systems to do some routine things, such as: watching movies, copy files, add, modify users, files, shell scripts to learn.

2. Try to use the command line to compile some simple code, and then gradually increase the difficulty, and then learn make.

3. Learn the basics of Linux, find a book to read.

4. Try to write their own some small things, fight, do not always read a book and not to practice, practice makes perfect.

5. Learn how to debug code.

6. Learn some of the major system calls, file operations, socket operations, etc.

7. learn simple driver development, such as: serial port driver.

8. Learn ...

9. The learning kernel source.

 

另外在此需要指出的是,当你真正看透了Windows和Linux的软件开发的时候,你可能并不觉得他们有很大的区别,所谓殊途同归,说的可能就是这个道理,比如这两个平台的代码最后都会转换为IA32架构的指令序列,在转换过程中使用了不同的工具,反出来的汇编代码区别也不是太大。还是那句话,做同样的事情,每个人的切入点不同,所谓站得一山方望得另一山高,千万不要畏而不前,迟迟不敢动手。

 

希望此文对大家有所帮助。


Guess you like

Origin blog.51cto.com/14443507/2431467