From b6756865f3aaaa700515f041350c0f1ed39f397f Mon Sep 17 00:00:00 2001 From: fujuntang <fujuntang@smartai.com> Date: 星期六, 18 九月 2021 19:38:49 +0800 Subject: [PATCH] Add the null terminated flag. --- README.md | 131 ++----------------------------------------- 1 files changed, 6 insertions(+), 125 deletions(-) diff --git a/README.md b/README.md index 29dd32a..2d46af1 100644 --- a/README.md +++ b/README.md @@ -1,131 +1,12 @@ -## 瀹炰緥 - -``` -#include "shm_queue_wrapper.h" -#include "mm.h" - -typedef struct message_t -{ - char method[20]; - int code; - -} message_t; - -void test1() { - unsigned int i = 0; - int key = 2; - size_t qsize = 16; - shmqueue_t queue; - shmqueue_init(&queue, key, qsize, sizeof(message_t)); - message_t item; - // LockFreeQueue<struct Item> queue(16); - for(i = 0; i < qsize; i++) { - sprintf(item.method, "hello"); - item.code = i ; - if(shmqueue_push(&queue, (void *)&item)) { - printf("push:%d %s\n", item.code, item.method ); - } - } - - struct timespec timeout = {1, 0}; - - i = 0; - while((shmqueue_pop_timeout(&queue, (void *)&item, &timeout)) ) { - printf("pop:%d %s\n", item.code, item.method ); - // cout << item.pic << endl; - i++; - } - - shmqueue_destroy(&queue); -} - +# 缂栬瘧 -int main () { - test1(); - - //鏁翠釜杩涚▼閫�鍑烘椂闇�瑕佹墽琛岃繖涓柟娉曪紝璇ユ柟娉曢鍏堜細妫�鏌ユ槸鍚﹁繕鏈夊叾浠栬繘绋嬪湪浣跨敤璇ュ叡浜唴瀛橈紝濡傛灉杩樻湁鍏朵粬杩涚▼鍦ㄤ娇鐢ㄥ氨鍙槸detach,濡傛灉娌℃湁鍏朵粬杩涚▼鍦ㄤ娇鐢ㄩ攢姣佹暣鍧楀唴瀛樸�� - mm_destroy(); - return 0; -} ``` -## 鎺ュ彛璇存槑 - + ./build.sh release ``` -/** - * 鍒濆鍖� - * @ shmqueue - * @ key 鏍囪瘑鍏变韩闃熷垪鐨勫敮涓�key - * @ queue_size 闃熷垪澶у皬 - * @ ele_size 闃熷垪涓厓绱犲ぇ灏� - */ -inline void shmqueue_init(shmqueue_t *shmqueue, int key, int queue_size, int ele_size) { - if(ele_size > MAX_ELE_SIZE) { - err_exit(0, "shmqueue_init 鍏冪礌澶у皬瓒呰繃璁捐鐨勬渶澶уぇ灏�"); - } - SHMQueue<ele_t> *queue = new SHMQueue<ele_t>(key, queue_size); - shmqueue->mqueue = (void *)queue; - shmqueue->ele_size = ele_size; -} - - - -/** - * 閿�姣� -*/ -inline void shmqueue_destroy(shmqueue_t *shmqueue) { - delete (SHMQueue<ele_t> *)shmqueue->mqueue; -} - -/** - * 闃熷垪鍏冪礌鐨勪釜鏁� - */ -inline uint32_t shmqueue_size(shmqueue_t *shmqueue) { - return ((SHMQueue<ele_t> *)(shmqueue->mqueue))->size(); -} - -/** - * 鏄惁宸叉弧 - */ -inline int shmqueue_full(shmqueue_t *shmqueue) { - return ((SHMQueue<ele_t> *)(shmqueue->mqueue))->full(); -} - -/** - * 鏄惁涓虹┖ - */ -inline int shmqueue_empty(shmqueue_t *shmqueue) { - return ((SHMQueue<ele_t> *)(shmqueue->mqueue))->empty(); -} - -/** - * 鍏ラ槦, 闃熷垪婊℃椂绛夊緟 - */ -inline int shmqueue_push(shmqueue_t *shmqueue, void *src_ele) - -/** - * 鍏ラ槦, 闃熷垪婊℃椂绔嬪嵆杩斿洖 - */ -inline int shmqueue_push_nowait(shmqueue_t *shmqueue, void *src_ele) - -/** - * 鍏ラ槦, 鎸囧畾鏃堕棿鍐呭叆瀵逛笉鎴愬姛灏辫繑鍥� - */ -inline int shmqueue_push_timeout(shmqueue_t *shmqueue, void *src_ele, struct timespec * timeout) -/** - * 鍑洪槦, 闃熷垪绌烘椂绛夊緟 - */ -inline int shmqueue_pop(shmqueue_t *shmqueue, void *dest_ele) - -/** - * 鍑洪槦, 闃熷垪绌烘椂绔嬪嵆杩斿洖 - */ -inline int shmqueue_pop_nowait(shmqueue_t *shmqueue, void *dest_ele) -/** - * 鍑洪槦, 鎸囧畾鏃堕棿鍐呭嚭瀵逛笉鎴愬姛灏辫繑鍥� - */ -inline int shmqueue_pop_timeout(shmqueue_t *shmqueue, void *dest_ele, struct timespec * timeout) - +# 鐢熸垚API鏂囨。 + ``` - + ./build.sh doc +``` \ No newline at end of file -- Gitblit v1.8.0