本人熟悉window下C/C++開發,windows網路/多線程編程,怎麼快速轉到linux下做開發?

我希望可以快速進入linux下做開發,有沒有什麼好的快速上手的書籍,linux以前接觸不過,不過基本的shell命令還是認識幾個,vim也能夠簡單的使用,查了下是要先學習gcc,gdb,makefile,shell嗎,會windows下的C/C++,轉到linux下需要學些什麼


看你做什麼了。花一天把 fork, exec, mknod, pipe, open, close, read, write, socket, bind, listen, accept, connect, epoll_*, signal, pthread_*, boost.coroutine 寫點樣例熟悉一遍,有病治病,沒病強身。

工具的話知道gcc/clang就夠了,剩下的以後再學。


不用會太多,用clion就行了


最合適的書是the linux program interface。apue有點過時了。c++11可以簡化很多跨平台的問題。你得花幾個星期甚至更長時間研究一下gcc和ld的參數以及具體含義。大部分都和linkerloader有關。windows的dll和so有很大差別。


gcc==cl

gdb==cdb

makefile==vcxproj

make==msbuild

shell==powershell

以上無非是參數不一樣,命令不一樣,語法有差異。原理和功能都差不多的。熟悉vc那一套的話,這個看熟悉起來肯定很快。

如果用得vc14或者更新的話,標準支持也類似。

網路編程的話差異最大的可能就是IOCP和epoll了,設計理念完全不一樣。還有windows里都是HANDLE,linux里都是fd(文件)。


最快是在mac下編碼 其次是安裝個linux系統 學會make cmake寫法 至於api 差別沒有想的大 c11時代 簡單多了


《Unix/Linux編程實踐教程》豆瓣評分:9.2(340人評) https://www.douban.com/doubanapp/dispatch?uri=/book/1219329/

沒人推薦這本嗎


《unix環境高級編程》,老老實實看完重點章節,敲敲示例代碼


你好,你熟悉Windows下的C++開發。可以問問,從最基礎學起,應該學什麼東西嗎。若能按照順序就太好啦太感謝啦。比如推薦書籍啊視頻啊。謝謝謝謝


推薦閱讀:

Python 和 C++ 如何選擇?
C++ 有哪些性能分析工具?
C++11引入了哪些讓人難忘的坑?
由於未能創建 Microsoft Visual C# 2015 編譯器......問題?
C++程序怎麼在鏈接期間確保一塊內存空間?

TAG:Linux | C | Linux開發 |