原创 如何優雅的使用 Systemd 管理服務
背景:我們在構建 Kubernetes 容器化平臺時,會在節點上部署各種 agent ,雖然容器化當道的今天很多程序可以直接採用 docker 方式進行運行,但我們在整個集羣內部仍然大量使用了 systemd 來管理基礎服務。不過在使
原创 高版本gcc編譯出的程序在低版本glibc機器上運行
比如我們用gcc 9.3.0編譯程序,但需要發佈的機器gcc版本是4.8.5,怎麼辦? 你可能想到如下方法 靜態編譯 容器發佈 打包依賴的so,使用本地so運行程序 1.靜態編譯 將libc和libstdc++靜態編譯,編譯時帶上如下
原创 Shell信號發送與捕捉 什麼是跳板機
信號(Signal):信號是在軟件層次上對中斷機制的一種模擬,通過給一個進程發送信號,執行相應的處理函數。 linux通過信號來在運行在系統上的進程之間通信,也可以通過信號來控制shell腳本的運行 進程可以通過三種方式來響應一個信號:
原创 shell腳本5---信號處理
信號的類別 信號 值 描述 1 SIGHUP 掛起進程 2 SIGINT 終止進程 3 SIGQUIT 停止進程 9 SIGKILL 無條件終止進程 15 SIGTERM 優雅的終止進程 17 SIGST
原创 基於pybind11實現C++程序中調用Python腳本增加C++程序擴展性
文章目錄 前言 一、pybind11與Python環境配置 二、C++環境配置 三、C++調用Python交互代碼 四、C++調用Python Demo完整源碼 前言 Windows平臺,在實際C++項目開發中,結合
原创 C++調用python踩坑記錄
目錄 0、參考文檔及博客 1、環境配置步驟 2、C++調用python的方法 代碼框架:(同樣來源於上面這篇博客,可用於測試環境配置成功與否) 報錯處理函數 (1)處理方法一:PyErr_Print (2)處理方法二:PyE
原创 C++調用Python(混合編程)函數整理總結
文章目錄 C++調用python概述 相關官方文檔 相關函數 1.初始化python解釋器環境 2.調用python腳本的靜態簡單方式 3.動態加載python模塊並執行函數 3.1不帶參數和返回值的舉例說明 3.2帶參數和
原创 C++調用Python3實戰,和PyImport_ImportModule返回NULL問題解決
Linux C++調用Python3 入門 準備 以下面的目錄結構演示如何在Linux C/C++調用python3。 |--hello.py |--main.cpp |--CMakeLists.txt hello.py:pyth
原创 C++通過pybind11調用Python 實現transpose
在某些場合需要在C++實現類似numpy的numpy.transpose(a, axes)功能,但是很多庫如NumCpp都沒有提供這樣的方法,只有二維矩陣的轉置,沒法進行多維矩陣任意維度的轉換。 比較簡單的想法就是利用numpy現有的功
原创 Linux下對GPIO的操作控制(基於GPIO子系統)
目錄 概述 GIPO子系統介紹 示例:通過GPIO子系統控制LED(GPIOA29) 示例:通過GPIO子系統中斷讀取IO值(GPIOC2) 概述 以前學習了LED和按鍵驅動,實際上,在Linux中實現這些設備驅動,有一
原创 Linux下控制GPIO的三種方法
1. 應用空間控制gpio 1.1簡介 在/sys/class/gpio/下有個export文件,向export文件寫入要操作的GPIO號,使得該GPIO的操作接口從內核空間暴露到用戶空間,GPIO的操作接口包括dire
原创 opencv imdecode和imencode用法
在工程應用中,通常有需要用網絡傳輸圖片的需求,考慮網絡帶寬的限制,無法直接將原始圖片進行傳輸。使用opencv中的imencode與imdecode函數進行圖像壓縮與解壓 string fname = "D:/image.jpg"
原创 FFmpeg將視頻轉換成一幀一幀的jpeg圖片(代碼實現)
#include <iostream> using namespace std; extern "C" { #include "libavcodec/avcodec.h"
原创 ffmpeg把讀取的視頻流保存爲jpeg文件
int img_savejpeg(AVFrame *pFrame, char *out_filename) {//視頻流保存爲jpeg int width = pFrame->width;int height = pFrame->heigh
原创 使用ffmpeg將MP4文件的每一幀保存爲jpg圖片
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <fcntl.h> #include <sys/ioctl.