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 MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...