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:\test\gnatsd.exe
参考:
https://github.com/nats-io/cnats
http://nats-io.github.io/cnats/
cnats 使用的更多相关文章
- NATS—基础介绍
1. 介绍 NATS(Message bus): 从CloudFoundry的总架构图看,位于各模块中心位置的是一个叫nats的组件.NATS是由CloudFoundry的架构师Derek开发的一个开 ...
- 一种开源的分布式消息系统Nats
一种开源的分布式消息系统Nats 作者:chszs.未经博主同意不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs 1.NATS介绍 NATS是一个开源的 ...
- conan-transit服上的库列表
conan-transit服上的库列表 因为获取列表比较慢,所以获取后在此记录,以备查找.conan-transit 是个只读库,不会有更新.新的库将上传到 conan-center. conan是C ...
- NATS_01:NATS基础介绍
1.介绍 NATS(Message bus): 从CloudFoundry的总架构图看,位于各模块中心位置的是一个叫nats的组件.NATS是由CloudFoundry的架构师Derek开发的一个开源 ...
- Mac上使用brew安装Nginx服务器
使用brew安装nginx $ brew install nginx 启动nginx sudo nginx 访问localhost:8080 发现已出现nginx的欢迎页面了.  为方便期间,做个软 ...
随机推荐
- Python面向对象之字段
类成员: 字段,方法,属性 属性是在一个函数方法前面加一个装饰器,伪造成为一个字段,调用的时候不需要加括号() 目的是把一个方法伪造成为一个字段,属性也是方法的一种,对这个方法进行改造就可以以 字段的 ...
- codeforces 761D - Dasha and Very Difficult Problem
time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standa ...
- 【紫书】Tree UVA - 548 静态建树dfs
题意:给你中序后序 求某叶子节点使得从根到该节点权值和最小.若存在多个,输出其权值最小的那个. 题解:先建树,然后暴力dfs/bfs所有路径,取min 技巧:递归传参数,l1,r1,l2,r2, su ...
- logstash自己的日志保存到文件中:log4j2.properties
status = error dest = err name = PropertiesConfig property.filename = /gwlog/data/logstash/logs appe ...
- CSV文件插入到mysql表中指定列
参考资料: -CSV文件插入到mysql表中指定列
- 洛谷P4138 挂饰 背包
正解:背包dp 解题报告: 昂先放链接qwq 感觉还挺妙的,,,真的我觉得我直接做可能是想不到背包的,,,我大概想不出是个背包的QAQ 但是知道是背包之后觉得,哦,好像长得也确实挺背包的吼,而且其实是 ...
- oracle( 0 )事务
一.并发引起的问题 脏读:能读取未提交的数据 不可重复读:T1事务读取数据后,T2事务执行更新操作,使T1无法再现前一次读取的结果.分三种情况: 1.值不同 2.少了记录 3.多了记录 幻象读(后两种 ...
- json数据爬虫。requests实现
get请求 import json import requests # url = "https://www.mamalaile.cn/mamalailegw/page/waiterList ...
- java计算器 图形用户界面 升级版 v1.02
package com.rgy.entity; import java.awt.BorderLayout; import java.awt.Font; import java.awt.GridLayo ...
- CentOS工作内容(六)双网卡带宽绑定bind teaming
CentOS工作内容(六)双网卡带宽绑定bind teaming Teaming功能是什么功能http://zhidao.baidu.com/link?url=cpcwl9LH4FSHJBaTW-e ...