使用mkfifo實現外部除錯介面

2021-09-05 11:06:21 字數 1189 閱讀 5862

使用mkfifo及fgets實現寫管道用來處理外部debug命令

例如: echo encyuv -i /home/test.yuv -w 1920 -h 1080 > debugnode

debugnode即為mkfifo建立的實名管道。

下面介紹乙個簡單的示例程式:

#include #include #include #include #include #define debug_fifo_path "debugnode"

#define max_param_count 32

void main(int argc char **argv)

unlink(debug_fifo_path ); //刪除指定路徑檔案

if(mkfifo(debug_fifo_path ,0777) < 0)

fifofd = fopen(debug_fifo_path, "r");

if(null == fifofd)

while(1)

i = 0;

buf[strlen[buf] - 1] = 0; //去換行符

pinput[0] = strtok(buf, " ");

dopinput[++i] = strtok(null, " ");

printf("[i = %d][%s]\n",i, pinput[i]);

}while(i < max_param_count )

if(i == max_param_count && strtok(null, " "));

/******************************

todo:parse function

*******************************/

fcolse(fifofd);

}}

輸出為:

#:echo encyuv -i /home/test.yuv -w 1920 -h 1080 > debugnode

[i = 1][-i]

[i = 2][/home/test.yuv]

[i = 3][-w]

[i = 4][1920]

[i = 5][-h]

[i = 6][1080]

[i = 7][(null)]

C 使用Swagger除錯Restful介面

一 在c 專案中將swagger與基於owin的webapi結合使用優點 owin的使用,可以將服務與應用程式完全分離,及前後端分離,發布的應用程式不需要依賴iis,通過控制台方式即可完成服務發布。使用swagger可以替代postman的日常用法。多客戶端或提供給第三方的介面在除錯的時候,勿需考慮...

使用LPCXpresso開發板除錯外部的電路板

mcuxpresso ide開發環境有乙個主要的功能 支援lpc link2 偵錯程式。通過這種方式,對於基於arm的電路板,我可以使用這個功能強大的 偵錯程式來除錯。在nxp的眾多lpcxpresso開發板上都有該lpc link2電路。那麼為什麼不用它來除錯自製硬體?概述 本文主要介紹如何使用l...

使用FeignClient實現微服務間介面呼叫

首先,根據要呼叫的服務及介面 import com.sample.pass.distrition.model.resultbody import org.springframework.cloud.openfeign.feignclient import org.springframework.we...