1. 程式人生 > >Libevent0.1之測試Libevent自帶的例子

Libevent0.1之測試Libevent自帶的例子

先解壓下載下來的原始碼
Download$ tar xzvf libevent-0.1.tar.gz


編譯庫檔案
Download$ cd libevent
Download/libevent$ ./configure
Download/libevent$ make


編譯自帶的sample,-I引數指定標頭檔案目錄,-L指定庫檔案目錄,因為它們都在本目錄下,所以指定為".",-levent指定libevent.a庫。
Download/libevent$ gcc -I . -o event-test sample/event-test.c -L . -levent
成功後會在當前目錄下生成一個event-test檔案


event-test.c例子中使用了一個命名管道(也被稱為FIFO檔案)的東西,命名管道用於不同程序之間進行通訊(IPC),命名管道具體內容可以參考
這裡
。它通過讀的方式開啟一個命名管道,並且監聽這個命名管道是否有資料可讀,當有資料可讀時會執行fifo_read函式,把讀取的內容打印出來。


下面就是我寫的一個往這個命名管道寫內容的簡單的程式:
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/queue.h>
#include <sys/time.h>
#include <fcntl.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <errno.h>


int main(int argc, char **argv)
{
    char *input = argv[1];
    if (argc != 2)
    {
        input = "hello";
    }
    int fd ;
    fd = open("event.fifo",O_WRONLY);
    if(fd == -1){
        perror("open error");
        exit(EXIT_FAILURE);
    }


    write(fd, input, strlen(input));
    close(fd);
    printf("write success\n");
    return 0;
}


把上面程式碼儲存為writeFIFO.c,然後編譯
Download/libevent$ gcc -o writeFIFO writeFIFO.c


成功後會生成一個writeFIFO檔案
然後就是測試了,先執行event-test,程式會一直等待命名管道是否有資料可讀
Download/libevent$ ./event-test

另開一個終端執行:
Download/libevent$ ./writeFIFO 123456

event-test將會收到”123456“並且列印在終端

相關推薦

Libevent0.1測試Libevent例子

先解壓下載下來的原始碼Download$ tar xzvf libevent-0.1.tar.gz 編譯庫檔案Download$ cd libevent Download/libevent$ ./configure Download/libevent$ make 編譯自帶的sample,-I引數指定標頭檔案目

Hadoop3.1.1執行例子wordcount發生的錯誤

 錯誤 1 Error: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster Please check whether your etc/hadoop/mapred-site.xml con

OPENCV SVM介紹和例子

位置 amp vma width 數據線 degree 當前 來看 get 依據機器學習算法如何學習數據可分為3類:有監督學習:從有標簽的數據學習,得到模型參數,對測試數據正確分類;無監督學習:沒有標簽,計算機自己尋找輸入數據可能的模型;強化學習(reinforcement

Geant4采用make和cmake編譯運行geant4例子的方法

剛才 例子 1-1 build g++ 核數 emp cmake 編譯 該教程介紹如何將geant4中自帶的例子通過camke編譯成可執行文件,並運行程序。 1 在linux主目錄下創建一個geant4_workdir目錄,並將geant4自帶的例子B1復制到該目錄

Expo大作戰(二十七)--expo sdk apiUtil(expo工具類),tackSnapshotAsync,Svg,SQLite

help count 開發 段落 mda and mpat str 語句 簡要:本系列文章講會對expo進行全面的介紹,本人從2017年6月份接觸expo以來,對expo的研究斷斷續續,一路走來將近10個月,廢話不多說,接下來你看到內容,講全部來與官網 我猜去全部

opencv 單目相機標定 例子程式的使用

<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/

hadoop例子wordcount的具體執行步驟

1.在linux系統中,所在目錄“/home/kcm”下建立一個資料夾input [[email protected]~]$ mkdir input 2.在資料夾input中建立兩個文字檔案file1.txt和file2.txt,file1.txt中內容是“hel

android修改系統ProgressDialog樣式

1.ProgressDialog預設樣式是當前Activity的theme所定義的ProgressDialog樣式。   繼承自父類AlertDialog的style. AlertDialog的原始碼 static int resolveDialogTheme(

Java執行緒池技術二 Java執行緒池實現

一,介紹   類檢視如下:     自Java 1.5後,Java對執行緒相關的庫做了很大的拓展,執行緒池就是其中之一。Java執行緒的新特性多數在java.util.concurrent,其包含眾多的介面和類。其中java.util.concurrent.Execut

人臉與人眼識別 opencv例子

所做的工作就是新建了一個VS2010工程,win32控制檯應用程式,空工程。 只新建了一個cpp檔案 拷貝以下程式碼(百度來的,感謝網友。。。) // face_detect.cpp : 定義控制檯應用程式的入口點。 // //#include "stdafx.h"

Kinect2.0使用KinectSDK的KinectStudio進行資料採集

去年一直襬弄Kinect2.0,發現二代Kinect和一代存在差別較大,採集程式也大致不一樣了。 在這裡我主要是介紹兩種採集方法,一種是基於KinectSDK驅動直接採集的,能夠採集到深度圖和彩色圖。第二種是採用OPENNI2間接驅動KinectSDK進行採集,能夠採集到O

spark教程1 (cdh5.12 安裝spark)

5.修改一下yarn的yarn.scheduler.maximum-allocation-mb引數和yarn.nodemanager.resource.memory-mb引數,預設是1g比較小,可以先設定到2g,然後重啟yarn

storm例子詳解 (一)——WordCountTopologyNode

/** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * dist

關於Appium做自動化測試手機計算器例項時出現的A new session could not be created.問題 shell “ps ‘uiautomator’

這幾天想看一下關於appium自動化測試,但是按照教程做了一下之後,發現自己的根本執行不起來,經過反覆排查了自己的開關項、環境配置等問題後,網上查閱了大量的資料,其中中文和外文的都有,但都沒有相同的問題(原因可能是複製的錯誤碼太長,搜尋的時候重要的資訊沒有查到),最後終於通過

OpenCV例子(三)兩幅影象相加

#include <cv.h> #include <highgui.h> #include <iostream> using namespace cv; int main( int argc, char** argv ) { doubl

Caffe例子執行

首先說明一點,在caffe中執行所有程式,都必須在CAFFE的根目錄下進行,否則會出錯。 兩個例子分別是mnist和cifar10,mnist被稱為程式設計界的hello world。 1

目標檢測訓練opencv的分類器(opencv_haartraining 或 opencv_traincascade)

    最權威的說明,參考官方使用手冊:     http://www.OpenCV.org.cn/opencvdoc/2.3.2/html/doc/user_guide/ug_traincasca

Jmeter3.1官方的HTML圖形測試報告 + 漢化

Jmeter3.0開始就有這個新特性了,詳情見官網 http://jmeter.apache.org/usermanual/generating-dashboard.html *建議下載Jmeter3.1版本,因為Ver3.0由於編碼問題報告中的中文會顯示成亂碼。官方在Ve

Solr_4.5.0_02: 執行 solr 的 jetty 伺服器 進行例子測試

注意:Solr4.5.0 執行環境要求 Java JDK 1.7 版本以上(solr4.6.1 要求 JDK 1.8 版本以上),windows作業系統 實驗目的:這裡主要是通過執行 solr 自帶的伺服器 jetty 進行例子測試,瞭解 solr 基本的操作過程以及執行結

PDFium-PDF開源旅(2)——執行除錯pdfium測試程式

PDFium-PDF開源之旅(2) ——執行除錯PDFium自帶的測試程式 趁熱打鐵週末,總算有時間繼續啦。廢話少說,切入正題. 編譯執行pdfium_test.exe 下載程式碼之後,原想直接寫個Demo,認真看了工程,PDFium是有自帶一個測試程式的,叫pdfium_