当我运行以下代码时:
#include <stdio.h>
int main(int argc, char *argv[])
{
int p = 0;
p = strcmp(NULL,"foo");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我得到分段错误.回声$?139.但是当我跑的时候
#include <stdio.h>
int main(int argc, char *argv[])
{
int p = 0;
strcmp(NULL,"foo"); // Note removed assignment
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我没有任何分段错误.有人可以请一些光吗?
这是我的gcc信息:
> gcc --version
gcc (GCC) 3.4.6 20060404 (Red Hat 3.4.6-8)
Run Code Online (Sandbox Code Playgroud) 我有一个订阅许多主题的 Kafka 流应用程序,每个主题都有许多分区。当我创建应用程序拓扑并启动它时,我是否知道将哪些主题的哪些分区分配给我的应用程序的当前实例?我想知道这与此实例是否处理任何记录无关。
我知道当我得到一条记录时,我可以做到processorContext.partition()并processorContext.topic()获取正在处理的当前记录的分区/主题信息。但我不是在寻找那个。
我正在寻找KafkaConsumer.assigmentkafka 流方面的等价物。
我也尝试了以下代码,但我得到 s 的大小为 0。
<Prepare builder and sconfig>
kafkaStream = new KafkaStreams (builder, sconfig);
kafkaStream.start ();
Collection<StreamsMetadata> s = kafkaStream.allMetadata();
System.out.println("StreamsMetadata: size is " + s.size());
for (StreamsMetadata m : s) {
Set<TopicPartition> tp = m.topicPartitions();
System.out.println ("TopicPartition: " + tp.toString());
}
Run Code Online (Sandbox Code Playgroud)