3 lixiaogang_theanswer

尚未进行身份认证

热爱技术,热爱运动,热爱生活!

等级
TA的排名 8k+

cJSON组装与解析value为数组["a", "b", "c","d"]

1.组装JSON中其value为数组的报文#include<stdio.h>#include<string.h>#include<stdlib.h>#include<assert.h>#include"util_cJSON.h"intmain(){ char*serialBuf=NULL; cJSON*pRoo...

2019-09-12 21:38:30

解决Zookeeper无法启动问题

1.概述    首先,zookeeper的配置(conf/zoo.cfg)是ok的。但是启动Zookeeper服务的时候,不报错,也没有任何提示。然而服务就是起不来,端口(默认2181)也不在线。    使用lsof或是netstat-apn|grep2181查看端口的时候,可以看到zookeeper服务是没有起来的。接着我看了zookeeper.log日志,可以看到一...

2019-09-03 09:50:32

c++11之静态断言(static_assert)

一、断言概念    所谓“断言”,它是一种表现行为,亦是一种编程手段。它总是将需要“返回值为真的判别式”放到语句中,其所扮演的角色就是告知系统当程序的某个条件其值不为真的时候,退出程序,不再继续执行下去。需要知晓的是,断言并不是代码中必不可缺的部分,因为它是可替代的,比如用if(条件判断)、#error(预处理宏)来完成断言同样的效果。存在即合理,断言必然有它存在理由。它可以快速定位到程序出...

2019-08-19 15:05:23

Qt开发(七)Qt 开发中编译报错:QIODevice::read: device not open

在编译使用QXmlStreamReader来读取XML代码时,报错提示:QIODevice::read:devicenotopen,表示要读写的设备文件没有打开,于是看了一次代码,发现问题的根源是我打开了file文件,随后关联了QXmlStreamReader对象后,就被我给关闭了。这个和采用DOM来读取XML还不一样,因为采用DOM来读取XML的时候,当把这个XML文...

2019-08-08 10:31:17

g++: internal compiler error: Killed (program cc1plus)

    make编译代码时候,提示g++:internalcompilererror:Killed(programcc1plus),其详细报错信息如下:g++:internalcompilererror:Killed(programcc1plus)Pleasesubmitafullbugreport,withpreprocessedsource...

2019-08-06 22:14:34

数据类型在不同平台的存储字节大小总结

1.概述    当用不同编译器编译的DLL交换数据时,以及在移植依赖于特定数据格式的C++代码时,数据表示的差异可能会导致程序间交换二进制数据文件时出现问题。表1为显示不同对象用于不同编译器的存储字节数。                                        表1数据大小                 ...

2019-08-02 16:11:48

操作系统、硬件平台、编译器预处理宏

   为了能够让写出的代码具有更强的移植性、跨平台等特性,我们需要在代码工程中加入大量的条件判断宏,以告知各平台下的编译器选择对应的分支宏代码进行(预处理、编译、汇编、链接)处理,并得到最终我们需要的成果物。不同的处理器、操作系统以及编译器都是有着其固定的宏,因此,我们所需做的在代码合适的地方添加对应的宏。   比如说,互斥锁在Linux平台与windows平台上面的定义、实现是不一样的,...

2019-08-01 22:08:22

kafka日志文件

1.kafka服务依赖zookeeper来管理器其集群元数据信息和消费者信息。kafka发行包中自带有zookeeper服务,如下图所示:/bin目录下是kafka和zk启动服务的脚本,而在/bin同级目录下的/config目录下则为其对应的配置文件信息。除了采用自带的zk外,以可以使用另外安装的zk服务(需要安装JDK),若使用另安装的zk服务,则在该zk服务起来之后,会在zk配置文...

2019-07-27 15:55:43

rdkafka_simple_producer.c 使用指南

1.概述rdkafka_simple_producer.c是librdkafka源码包中附属的一个kafka生产者客户端文件。通过编译并执行该文件可以达到向kafka主题(topic)生成数据的效果。下图是librdkafka源码包的一个目录框架拓扑结构图。其中examples目录下集成了常用的kafka生产者、消费者(批量消费、单条消费、回调函数消费)等文件,s...

2019-07-24 16:06:13

kafka-producer-perf-test.sh生产的数据究竟是什么?

1.概述在kafka发行包的/bin目录下,有一个脚本工具是:kafka-producer-perf-test.sh,该工具主要用来向kafka主题中生产数据。比较好奇的是,这个工具到底生产了什么数据到kafka的主题中,其格式是什么?内容又是什么?为了探索其topic分区上面的生产数据,下面我将一步步对其进行剖析。(1)创建主题T_1shkafka-topics...

2019-07-17 11:21:12

kafka-topics.sh 详细说明

1.kafka的发行包中提供了一些非常有用的脚本工具,位于/bin目录之下。它们是属于开放源码的一部分。通过这些脚本,可以使我们完成一些常用而又紧要的功能。本次对kafka-topics.sh作详细的说明。该脚本主要用来对kafka中的主题进行操作和管理,可以对其主题进行创建、修改、删除以及查看等功能。2.kafka-topics.sh使用方式/bin目录下的每一个...

2019-07-16 23:09:18

libxxx.so: undefined reference to `uuid_generate'

1.make编译过程中,报错libxxx.so:undefinedreferenceto`uuid_generate’,如图所示google了一番,该提示是由于缺少-luuid库的链接。我在Makefile文件中的CFLAGS中链接上该uuid库后,还是报错;因此下载一个libuuid的包,编译安装。下载地址[libuuid-1.0.3.tar.gz],若想...

2019-07-05 15:58:26

make报错:error: unable to find string literal operator ‘operator""fmt’ with ‘const char [12]’, ‘long u

1.在X86架构的CPU上编译是ok的,没有警告,没有报错;然后移植到ARM64架构上编译时候,就报错了。2.C++11要求,当字符串跟变量连接的时候,必须增加一个空格才行。因此解决方案有2个:(1)Makefile文件明确告知编译方式采用C++98:CFLAGS+=-std=c++98(2)采用控制宏方式:#if__cplusplus<201103L#d...

2019-07-02 11:17:21

《GNU make v3.80》阅读记录

1.Makefile中可以使用shell所提供的任何命令2.书写Makefile时,一个较长行可以使用反斜杠(\)分解为多行,但是反斜杠之后不能有空格3.Makefile把那些没有任何依赖,只有执行动作的目标称为“伪目标(phonytargets)”4.make任何工作...

2019-07-02 09:41:34

篮球

部门的(数据中心后端)每周四晚上是自由活动(打篮球、羽毛球、游泳、或是钱塘江边散步)时间,根据自己的兴趣爱好,自由安排。很明显,篮球是我的首选,这也是除了山地车之外的另一个让我爱不释手的活动项目。本来公司是带有篮球场地的,但是部门仍然每周四都会在外面的体育馆订场地,或许是出于两个原因,1.公司人数多,场地资源不够用;2.因为这个篮球场地是3期才修建的(2019-03月份),而之前在二期的时候就有...

2019-06-23 23:31:31

阅读书籍汇总

1.《C专家编程》2.《征服C指针》3.《Mysql必知必会》

2019-06-18 19:50:15

C语言 函数类型

1.在[不完全类型]一文中,描述了C中的3大数据类型,即:函数类型、对象类型和不完全类型,这里再次引用这张图来进行“函数类型”的讲解。可以看到,函数类型是对立于其他的类型的,它不像“对象类型和不完全类型”,可以延伸(或是派生)出其他对象,或是包含一子系列。似乎从类型家族中脱离出来而独树一帜。函数类型也是一种派生类型,其中的“参数(类型)”是它的属性。然而C中是不存在“函数类型的...

2019-06-04 17:47:44

C语言 不完全类型

1、不完全类型是指“函数之外、类型大小不能被确定的类型”。首次接触“不完全数据类型”概念是来自《征服C指针》的3.2.10章节。C的类型共分为:(1)对象类型(char、int、数组、指针、结构体等)(2)函数类型(3)不完全类型下图涵盖了c中的所有类型不完全类型(incompletetypes)有三种不同形式:void、未指定长度的数组以及具有非指定内容的结构和联合。voi...

2019-06-04 11:31:41

Valgrind-检测内存错误工具

Valgrind是一款Linux上开源且非常优秀的用以“检测内存错误”的工具。其官网是[Valgrind],valgrind官网里有着使用该工具的详细说明文档,而且google上面对该工具使用方式的博客也是不可胜数。因此这里不再对该工具的使用做过多的陈述,仅在此备注下该工具。...

2019-05-31 16:31:16

Gdb调试多线程死锁

一、操作系统中有一个进程表,它记录了当前系统上所有进程的状态信息。一般是Sleep或Run。这里涉及到Linux下进程的状态信息。线程与进程类似,只是线程所占用的内存空间比进程更少。二、非抢占线程系统和抢占线程系统异同三、Gdb调试线程常用命令infothreads列出当前所有线程的信息threadtid切换到线程tid中去(比如当tid=1,表示切换到线程1中)break1...

2019-05-29 17:40:41

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。