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
  • 基於.NET Framework 4.8 開發的深度學習模型部署測試平臺,提供了YOLO框架的主流系列模型,包括YOLOv8~v9,以及其系列下的Det、Seg、Pose、Obb、Cls等應用場景,同時支持圖像與視頻檢測。模型部署引擎使用的是OpenVINO™、TensorRT、ONNX runti... ...
  • 十年沉澱,重啟開發之路 十年前,我沉浸在開發的海洋中,每日與代碼為伍,與演算法共舞。那時的我,滿懷激情,對技術的追求近乎狂熱。然而,隨著歲月的流逝,生活的忙碌逐漸占據了我的大部分時間,讓我無暇顧及技術的沉澱與積累。 十年間,我經歷了職業生涯的起伏和變遷。從初出茅廬的菜鳥到逐漸嶄露頭角的開發者,我見證了 ...
  • C# 是一種簡單、現代、面向對象和類型安全的編程語言。.NET 是由 Microsoft 創建的開發平臺,平臺包含了語言規範、工具、運行,支持開發各種應用,如Web、移動、桌面等。.NET框架有多個實現,如.NET Framework、.NET Core(及後續的.NET 5+版本),以及社區版本M... ...
  • 前言 本文介紹瞭如何使用三菱提供的MX Component插件實現對三菱PLC軟元件數據的讀寫,記錄了使用電腦模擬,模擬PLC,直至完成測試的詳細流程,並重點介紹了在這個過程中的易錯點,供參考。 用到的軟體: 1. PLC開發編程環境GX Works2,GX Works2下載鏈接 https:// ...
  • 前言 整理這個官方翻譯的系列,原因是網上大部分的 tomcat 版本比較舊,此版本為 v11 最新的版本。 開源項目 從零手寫實現 tomcat minicat 別稱【嗅虎】心有猛虎,輕嗅薔薇。 系列文章 web server apache tomcat11-01-官方文檔入門介紹 web serv ...
  • 1、jQuery介紹 jQuery是什麼 jQuery是一個快速、簡潔的JavaScript框架,是繼Prototype之後又一個優秀的JavaScript代碼庫(或JavaScript框架)。jQuery設計的宗旨是“write Less,Do More”,即倡導寫更少的代碼,做更多的事情。它封裝 ...
  • 前言 之前的文章把js引擎(aardio封裝庫) 微軟開源的js引擎(ChakraCore))寫好了,這篇文章整點js代碼來測一下bug。測試網站:https://fanyi.youdao.com/index.html#/ 逆向思路 逆向思路可以看有道翻譯js逆向(MD5加密,AES加密)附完整源碼 ...
  • 引言 現代的操作系統(Windows,Linux,Mac OS)等都可以同時打開多個軟體(任務),這些軟體在我們的感知上是同時運行的,例如我們可以一邊瀏覽網頁,一邊聽音樂。而CPU執行代碼同一時間只能執行一條,但即使我們的電腦是單核CPU也可以同時運行多個任務,如下圖所示,這是因為我們的 CPU 的 ...
  • 掌握使用Python進行文本英文統計的基本方法,並瞭解如何進一步優化和擴展這些方法,以應對更複雜的文本分析任務。 ...
  • 背景 Redis多數據源常見的場景: 分區數據處理:當數據量增長時,單個Redis實例可能無法處理所有的數據。通過使用多個Redis數據源,可以將數據分區存儲在不同的實例中,使得數據處理更加高效。 多租戶應用程式:對於多租戶應用程式,每個租戶可以擁有自己的Redis數據源,以確保數據隔離和安全性。 ...