原创 CMake應用:集成gtest進行單元測試

來源:公衆號【很酷的程序員/RealCoolEngineer】 編寫代碼有bug是很正常的,通過編寫完備的單元測試,可以及時發現問題,並且在後續的代碼改進中持續觀測是否引入了新的bug。對於追求質量的程序員,爲自己的代碼編寫全面的單元測試

原创 CMake應用:合併靜態庫的最佳實踐

在實際項目中,往往需要將一些基礎庫或者算法庫發佈出去,但是不同項目可能需要用到不同的子模塊,此時爲了保持簡潔,可能需要合併多個靜態庫爲一個。 在筆者的實際工作中,合併靜態庫的需求還是有的,而且大多數時候都是基於CMake的項目,所以希望

原创 cmake應用:交叉編譯

來源:公衆號【很酷的程序員/RealCoolEngineer】 交叉編譯指的在一個平臺上生成另一個平臺上的可執行代碼。很多時候,開發的代碼可能並不只是在開發主機的平臺上執行,比如在Windows下開發的程序,希望能夠在Linux、或者Ma

原创 cmake應用:從編譯過程理解CMake

來源:公衆號【很酷的程序員/RealCoolEngineer】 CMake和編譯的過程是有對應關係的,理解了編譯構建的過程,可以更加理解CMake的相關命令;理解其目的和用途,自然也就可以更好地運用CMake。 在最近的CMake系列文

原创 GCC編譯過程概述

來源:公衆號【很酷的程序員/RealCoolEngineer】 瞭解GCC如何將源文件編譯爲最終文件,開發者能夠更加清楚如果進行調試、優化,對於理解大型程序的構建過程,使用類似CMake、Bazel等構建工具都是很有幫助的。 本文的目的

原创 cmake應用:安裝和打包

來源:公衆號【很酷的程序員/RealCoolEngineer】 爲了方便使用項目編譯的目標文件,快速部署到目標目錄,可以使用CMake的安裝功能;如果需要對外發布,提供頭文件、庫文件、或者demo的壓縮包則可以使用CMake的打包功能。

原创 cmake應用:集成gtest進行單元測試

來源:公衆號【很酷的程序員/RealCoolEngineer】 編寫代碼有bug是很正常的,通過編寫完備的單元測試,可以及時發現問題,並且在後續的代碼改進中持續觀測是否引入了新的bug。對於追求質量的程序員,爲自己的代碼編寫全面的單元測試

原创 CMake應用:模塊化及庫依賴

來源:公衆號【很酷的程序員/RealCoolEngineer】 當項目比較大的時候,往往需要將代碼劃分爲幾個模塊,可能還會分離出部分通用模塊,在多個項目之間同時使用;當然,也可能是依賴開源的第三方庫,在項目中包含第三方源代碼或者編譯好的庫

原创 CMake應用:CMakeLists.txt完全指南

CMake通過CMakeLists.txt配置項目的構建系統,配合使用cmake命令行工具生成構建系統並執行編譯、測試,相比於手動編寫構建系統(如Makefile)要高效許多。對於C/C++項目開發,非常值得學習掌握。 在前兩篇文章中已

原创 CMake應用:核心語法篇

本文是深入CMakeLists.txt之前的前導文章,介紹CMake語言的核心概念,以及常用的CMake腳本命令,以期對CMake的語法能有比較好的認知和實踐基礎。 在前一篇文章中介紹了CMake的核心概念,使用的一般流程,並通過一個實

原创 CMake應用:基礎篇

CMake是一個開源、跨平臺的編譯、測試和打包工具,它使用比較簡單的語言描述編譯、安裝的過程,輸出Makefile或者project文件,再去執行構建。 在使用IDE開發軟件的過程中,代碼的編譯和構建一般是使用IDE自帶的編譯工具和環境

原创 Python爬蟲:Cookie保存和加載

來源:公衆號【很酷的程序員/RealCoolEngineer】 自動登錄網站後,可以保存cookie,在有效期內可以直接加載cookie保持登錄狀態,而無需使用登錄api重新進行登錄。 本文主要介紹cookie的保存和加載,是上一篇文章

原创 Python爬蟲:自動登錄及下載實踐

來源:公衆號『很酷的程序員』 ID:RealCoolEngineer 在使用Python爬蟲自動爬取網頁數據時,有時候需要先登錄才能爬取一些特定的網頁內容,本文是一個自動登錄網頁抓取數據的一個示例。 本文包括以下知識點: 分析網頁請求

原创 編寫安全的shell腳本

來源:公衆號『很酷的程序員』 ID:RealCoolEngineer 正確安全地編寫shell腳本,避免腳本導致出乎意料的結果,並且在出現的問題的時候及時報錯退出。 本文基於筆者以往的shell腳本編程經驗,給出一些基礎的編程技巧,以便

原创 vscode進階:C/C++開發環境配置

本文主要介紹vscode上使用cmake作爲編譯配置工具的C/C++開發環境配置。 包括提高效率的插件、代碼風格規範化的相關設置。 一 必備插件 1 C/C++ 微軟官方插件,提供對C/C++語言的支持,比如代碼提示、調試。 該插件有自