linux--工具進階

来源:https://www.cnblogs.com/ygjzs/archive/2020/01/10/12177489.html
-Advertisement-
Play Games

linux學習 看完了基礎篇,下麵來看進階篇 我好想哭看這的時候,好多只是聽說過,但完全沒有試過,感覺自己懂得有點少,就是缺乏一些知識儲備,也就是必須知道了某些或學過了某些知識才適合來看這一部分,看得太早了,不過看看也好,以後再見到就不陌生了。這篇主要就是在linux編寫程式,調試程式,優化性能,這 ...


linux學習

看完了基礎篇,下麵來看進階篇

我好想哭看這的時候,好多只是聽說過,但完全沒有試過,感覺自己懂得有點少,就是缺乏一些知識儲備,也就是必須知道了某些或學過了某些知識才適合來看這一部分,看得太早了,不過看看也好,以後再見到就不陌生了。這篇主要就是在linux編寫程式,調試程式,優化性能,這是以後一定要接觸瞭解到的,硬是硬著頭皮看完了。

一般源代碼提供的程式安裝需要通過配置、編譯、安裝三個步驟;

1.配置做的工作主要是檢查當前環境是否滿足要安裝軟體的依賴關係,以及設置程式安裝所需要的初始化信息,比如安裝路徑,需要安裝哪些組件;配置完成,會生成makefile文件供第二步make使用;
2.編譯是對源文件進行編譯鏈接生成可執行程式;
3.安裝做的工作就簡單多了,就是將生成的可執行文件拷貝到配置時設置的初始路徑下;

程式構建

配置
編譯

    makefile編寫的要點
    makefile中的全局自變數
    更多選擇 CMake
    編譯依賴的庫
    g++編譯

安裝

程式構建

程式調試

進程調試
    gdb 程式交互調試
    pstack 跟蹤棧空間
    strace 分析系統調用
目標文件分析
    nm
    objdump
    readelf
    size 查看程式記憶體占用
    file 文件類型查詢
    strings 查詢數據中的文本信息
    fuser 顯示文件使用者
    xxd 十六進位顯示數據
    od

程式調試

性能優化

分析系統瓶頸
分析記憶體瓶頸
分析IO瓶頸
分析進程調用
優化程式代碼
    gprof使用步驟
其它工具

性能優化

至此,最懵一部分看完了,感覺心裡有負罪感,好多東西沒學到,好多東西還要去學習,加油吧!!~~~


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • title: "Lnmp + Https" date: 2019 08 28T16:18:20+08:00 draft: true 註:我的linux的ip地址為192.168.0.104 下載lnmp軟體包 解壓 運行lnmp執行腳本 選擇資料庫 輸入密碼,啟用MySQL InnoDB 選擇PHP ...
  • 在Linux中,一般使用chmod命令來修改文件的屬性。 利用 chmod 可以藉以控制文件如何被他人所調用。此命令所有使用者都可使用。 一、Linux chmod命令語法Linux chmod 命令的語法如下所示: chmod [OPTION]... MODE[,MODE]... FILE... ...
  • vim編輯器介紹 所有的 Unix Like 系統都會內建 vi 文書編輯器,其他的文書編輯器則不一定會存在。 但是目前我們使用比較多的是 vim 編輯器。 vim 具有程式編輯的能力,可以主動的以字體顏色辨別語法的正確性,方便程式設計。 什麼是 vim? Vim是從 vi 發展出來的一個文本編輯器 ...
  • linux下的好用工具 工具好多!!! "gdb調試利器" "ldd查看程式依賴庫" "lsof一切皆文件" "ps進程查看器" "pstack 跟蹤進程棧" "strace 跟蹤進程中的系統調用" "ipcs 查詢進程間通信狀態" "top linux下的任務管理器" "free 查詢可用記憶體" ...
  • 一臺pc A(192.168.1.2),想和另一臺pc B(192.168.1.3)通信,pc A對自己所在區域網絡內的所有主機,也包括路由器的介面喊(發送ARP查詢信息):ip地址是192.168.1.3的pc的mac地址是多少,請告訴我。pc B聽到了,告訴pc A我是,並把自己的IP地址和ma ...
  • 靜態路由:由人,手動寫出的路由條目就叫靜態路由,永久有效,優先順序最高,效率最高。 路由器是幹啥的? 連接不同地址段的網路。屏蔽不同地址段的網路廣播。 路由器有多個介面,至少得有2個吧,一邊一個區域網。 查詢路由表裡的路由條目 C:代表直連的意思。就是說我使用介面1/0,可以連接192.168.0.0 ...
  • 路由器和交換機里都有操作系統,cisco的操作系統叫ios。 怪不得路由器貴,原來也是帶操作系統的機器啊,以前真是小白。 ios里的幾種模式 1, :用戶模式:啥也幹不了。 2, :特權模式:用於檢驗在全局模式里的配置是否生效了。下麵的R1是路由器的名字(是在GNS3里設置的)。 從用戶模式進入特權 ...
  • 學了一些linux下的網路相關的命令,但是網路本身是啥,不知道啊, 所以只好找個ccna的網路知識,學一學,太難了我 網路種類: 乙太網 ARPA FR幀中繼 frame relay ATM交換機 網路範圍: 區域網 廣域網(也就俗稱的網際網路) 網路定義:通過物理線路將所有的終端設備連接到一起,並實 ...
一周排行
    -Advertisement-
    Play Games
  • .Net8.0 Blazor Hybird 桌面端 (WPF/Winform) 實測可以完整運行在 win7sp1/win10/win11. 如果用其他工具打包,還可以運行在mac/linux下, 傳送門BlazorHybrid 發佈為無依賴包方式 安裝 WebView2Runtime 1.57 M ...
  • 目錄前言PostgreSql安裝測試額外Nuget安裝Person.cs模擬運行Navicate連postgresql解決方案Garnet為什麼要選擇Garnet而不是RedisRedis不再開源Windows版的Redis是由微軟維護的Windows Redis版本老舊,後續可能不再更新Garne ...
  • C#TMS系統代碼-聯表報表學習 領導被裁了之後很快就有人上任了,幾乎是無縫銜接,很難讓我不想到這早就決定好了。我的職責沒有任何變化。感受下來這個系統封裝程度很高,我只要會調用方法就行。這個系統交付之後不會有太多問題,更多應該是做小需求,有大的開發任務應該也是第二期的事,嗯?怎麼感覺我變成運維了?而 ...
  • 我在隨筆《EAV模型(實體-屬性-值)的設計和低代碼的處理方案(1)》中介紹了一些基本的EAV模型設計知識和基於Winform場景下低代碼(或者說無代碼)的一些實現思路,在本篇隨筆中,我們來分析一下這種針對通用業務,且只需定義就能構建業務模塊存儲和界面的解決方案,其中的數據查詢處理的操作。 ...
  • 對某個遠程伺服器啟用和設置NTP服務(Windows系統) 打開註冊表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer 將 Enabled 的值設置為 1,這將啟用NTP伺服器功 ...
  • title: Django信號與擴展:深入理解與實踐 date: 2024/5/15 22:40:52 updated: 2024/5/15 22:40:52 categories: 後端開發 tags: Django 信號 松耦合 觀察者 擴展 安全 性能 第一部分:Django信號基礎 Djan ...
  • 使用xadmin2遇到的問題&解決 環境配置: 使用的模塊版本: 關聯的包 Django 3.2.15 mysqlclient 2.2.4 xadmin 2.0.1 django-crispy-forms >= 1.6.0 django-import-export >= 0.5.1 django-r ...
  • 今天我打算整點兒不一樣的內容,通過之前學習的TransformerMap和LazyMap鏈,想搞點不一樣的,所以我關註了另外一條鏈DefaultedMap鏈,主要調用鏈為: 調用鏈詳細描述: ObjectInputStream.readObject() DefaultedMap.readObject ...
  • 後端應用級開發者該如何擁抱 AI GC?就是在這樣的一個大的浪潮下,我們的傳統的應用級開發者。我們該如何選擇職業或者是如何去快速轉型,跟上這樣的一個行業的一個浪潮? 0 AI金字塔模型 越往上它的整個難度就是職業機會也好,或者說是整個的這個運作也好,它的難度會越大,然後越往下機會就會越多,所以這是一 ...
  • @Autowired是Spring框架提供的註解,@Resource是Java EE 5規範提供的註解。 @Autowired預設按照類型自動裝配,而@Resource預設按照名稱自動裝配。 @Autowired支持@Qualifier註解來指定裝配哪一個具有相同類型的bean,而@Resourc... ...