資源描述:
《linux下的c++編程入門教程》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、Linux下c++編程北郵百度俱樂部蘇冉旭suranxu.bupt@gmail.com為什么學(xué)習(xí)Linux下C++開發(fā)就業(yè)百度Google網(wǎng)易有道AgendaLinux下開發(fā)環(huán)境G++簡(jiǎn)介與實(shí)例Makefile簡(jiǎn)介與實(shí)例Gdb單步調(diào)試Windows代碼遷移到Linux的常見問題果斷學(xué)習(xí)Linux下C++!Linux下開發(fā)環(huán)境VIM+gcc+Makefile+gdb您是用VIM還是VIM還是VIM?命令行界面,無法編譯,難以多文件操作,但支持插件給力但復(fù)雜的emacs其它常用方案:Windows下IDE編寫,Linux下編譯部署Sec
2、ureCRT-SZ/RZ或Samba上傳下載G++簡(jiǎn)介與實(shí)例g++/gcc是什么Linux下的c/c++編譯器一個(gè)最簡(jiǎn)單的g++語(yǔ)句g++hello.cpp–ohello.exeG++簡(jiǎn)介與實(shí)例G++功能選項(xiàng)-I指定頭文件路徑-L–l指定庫(kù)文件路徑常用g++編譯選項(xiàng)-g-pipe–Wall–fPIC一條標(biāo)準(zhǔn)格式的g++語(yǔ)句g++-g–pipe–Wall–fPIChello.cpp-ohello.exe-Ibbc_log-Lbbc_log/lib-lbbc_log-lboost_threadMakefile初步什么是Makefile?
3、Makefile是一個(gè)按格式書寫的g++語(yǔ)句文件。Makefile是g++和shell語(yǔ)句集合。它允許我們按照規(guī)定格式使用以上兩種語(yǔ)句設(shè)計(jì)編譯行為。Make是一種控制編譯或重復(fù)編譯的軟件工具。它自動(dòng)決定一個(gè)程序中哪些文件需要重新編譯,并重新運(yùn)行指定的命令。Makefile基礎(chǔ)文件名為“Makefile”或“makefile”Makefile的規(guī)則格式:目標(biāo)(target):依賴(prerequiries)命令(command)一個(gè)最簡(jiǎn)單的Makefileall:g++hello.cpp-ohello.exeMakefile
4、標(biāo)準(zhǔn)篇先編譯,后連接變量的定義與使用幾個(gè)奇怪的變量(自動(dòng)變量):$@,$<,$^內(nèi)建函數(shù):wildcard(),patsubst()來看一個(gè)相對(duì)標(biāo)準(zhǔn)的MakefileMakefile高級(jí)篇生成.a文件ar-ruv$(LIB_DIR)/lib$(LIBNAME).a$(OBJS)$(OBJS):*.cpp$(CXX)-c$^-o$@$(INCLUDEFLAGS)多個(gè)Target的編譯all:$(target1)$(target2)調(diào)用子文件夾中的Makefilesubsystem:cdsubdir&&makeGDB單步調(diào)試命令格式gd
5、b./program_namegdbcore_name./program_name常用子命令break-設(shè)置斷點(diǎn)continue-繼續(xù)執(zhí)行直到下個(gè)斷點(diǎn)step-單步跳入next-單步跳過print-打印值quit-退出GDB高級(jí)-d指出源代碼所在路徑list顯示源代碼ptype顯示類型定義代碼x查看內(nèi)存地址的值,格式x/(NUM)(FMT)ADDRESSInfolocal查看當(dāng)前棧的局部變量值Infoarg查看當(dāng)前棧的參數(shù)值Wherefull查看當(dāng)前堆棧所有信息Windows遷移代碼常見問題缺少最后一
6、行空行多余的/r回車符dos2unixfromdos中文注釋亂碼iconv–fgbk–tutf8不能忍的頭文件#include不兼容的宏,庫(kù)函數(shù)snprintf(),__FUNCTION__,__FILE__,__LINE__#ifdefWIN_32#define…#endifQ&AThanks!