zoukankan      html  css  js  c++  java
  • cnats 使用

    1. 准备

    yum install cmake
    yum install gcc gcc-c++
    yum install ncurses ncurses-devel
    yum install openssl openssl-devel

    yum install valgrind

    2. get src

    git clone git@github.com:nats-io/cnats.git .

    3. 编译

    用 cmake 编出库
    > cd cnats
    > mkdir build
    > cd build
    > cmake ..
    也可以为 cmake 指定一些编译选项,比如你想让生成的库不支持 TLS
    > cmake .. -DNATS_BUILD_WITH_TLS=OFF
    如果之前编译过,需要先
    > make clean
    或者 删除 build 目录,重新创建 build 目录,执行 cmake
    执行 cmake -h 显示cmake 编译参数

    如果想修改编译参数,需要编译 cache,然后重新编译
    > make edit_cache

    默认会编译生成所有target,包括 NATS 静态库、共享库、examples和test程序。位于 build 目录下它们各自的目录:src,examples,test
    执行
    > make install
    将 NATS 静态库和共享库拷贝到 cnats/install/lib ,将 头文件拷贝到 cnats/install/lib/include (install及其子目录会自动创建)

    若有安装 valgrind ,可以用它来检测内存
    make test ARGS="-T memcheck"

    或者,你可以直接调用 ctest 程序
    ctest -T memcheck -V -I 1,4
    上面的命令会用 valgrind 运行 tests(-T memcheck),用 verbose 输出(-v),从1至4运行tests(-I 1,4)

    如果向 test/test.c 里添加一个 test, 需要将它添加到 allTests 数组。包含一个name和该test函数。你可以在任何地方将它添加到 allTests 数组

    添加完后重新编译
    $ make
    [ 44%] Built target nats
    [ 88%] Built target nats_static
    [ 90%] Built target nats-publisher
    [ 92%] Built target nats-queuegroup
    [ 94%] Built target nats-replier
    [ 96%] Built target nats-requestor
    [ 98%] Built target nats-subscriber
    Scanning dependencies of target testsuite
    [100%] Building C object test/CMakeFiles/testsuite.dir/test.c.o
    Linking C executable testsuite
    [100%] Built target testsuite

    现在通过调用test suite(不添加任何参数) 重新生成 list
    $ ./test/testsuite
    Number of tests: 77
    它列出了添加到list.txt文件中的 tests数量。将该文件放到 源码的test目录
    $ mv list.txt ../test/

    然后 更新 build
    $ cmake ..
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /home/ivan/cnats/build

    可以使用下面的环境变量影响testsuite的行为
    正在进行内存检测时,如果发现系统响应非常慢,下面的变量允许testsuite在test过程中调整一些值
    export NATS_TEST_VALGRIND=yes

    当在versose模式下运行tests,下面的环境变量可以让你在test上看到server(gnatsd)的一些输出。
    export NATS_TEST_KEEP_SERVER_OUTPUT=yes

    如果想改变可执行文件的名称(gnatsd)或指定一个特定的地方,使用下面环境变量
    set NATS_TEST_SERVER_EXE=c: estgnatsd.exe

    参考:

    https://github.com/nats-io/cnats

    http://nats-io.github.io/cnats/

  • 相关阅读:
    Go并发编程实战 第2版 PDF (中文版带书签)
    DirectShow 应用开发过程
    Filter 原理
    DirectShow 常用函数总结
    COM 编程基础
    DirectShow 简介
    C++ 静态库与动态库以及在 Windows上 的创建、使用
    DirectShow 学习方法
    Qt 编译配置相关总结
    环境变量对于 VS 有什么用?
  • 原文地址:https://www.cnblogs.com/yorkyang/p/6656705.html
Copyright © 2011-2022 走看看