undefined

【重要】—把jsoncpp 编译的问题彻底搞定

今天又花了将近3个小时来看jsoncpp编译出错的案例l

scons、cmake编译jsoncpp 快点搞定

jsoncpp 下载编译

1
2
3
4
5
6
wget https://github.com/open-source-parsers/jsoncpp/archive/1.8.0.tar.gz
tar xzvf 1.8.0.tar.gz
cd jsoncpp-1.8.0/src/lib_json
g++ -g -std=c++11 -Wall -fPIC -c -I../../include json_reader.cpp json_value.cpp json_writer.cpp
ar rvs libjsoncpp.a *.o
g++ -g json_reader.o json_writer.o json_value.o -shared -o libjsoncpp.so

undefined

深入认识makefile 规则

多目标规则与多规则目标

  • 多目标规则,可以简单的理解为是一种将多条具有1)相同依赖和2)相同生成命令的规则,合并成一条规则的语法,其基本格式为

    1
    2
    3
    4
    5
    all : target1 target2
    echo "This is a rule for $@"
    target1 target2 : dep
    echo "This is a rule for $@"
    dep:
  • 多规则目标:这种情况下,此目标文件的所有依赖文件将会被合并成此目标一个依赖文件列表,其中任何一个依赖文件比目标更新(比较目标文件和依赖文件的时间戳)时,make将会执行特定的命令来重建这个目标。对于一个多规则的目标,重建此目标的命令只能出现在一个规则中(可以是多条命令)。如果多个规则同时给出重建此目标的命令,make将使用最后一个规则的命令,同时提示错误信息。

查看更多

undefined

一致性协议之 ZAB

作为一个优秀高效且可靠的分布式协调框架,ZooKeeper 在解决分布式数据一致性问题时并没有直接使用 Paxos ,而是专门定制了一致性协议叫做 ZAB(ZooKeeper Automic Broadcast) 原子广播协议,该协议能够很好地支持 崩溃恢复

一、ZAB 中的三个角色

  • Leader(领导者):集群中 唯一的写请求处理者 ,能够发起投票(投票也是为了进行写请求)
  • Follower(跟随者):能够接收客户端的请求,如果是读请求则可以自己处理,如果是写请求则要转发给 Leader 。在选举过程中会参与投票,有选举权和被选举权
  • Observer(观察者):就是没有选举权和被选举权的 Follower
查看更多