小编Anj*_*njz的帖子

pthread函数的参数可以是另一个函数吗?

我知道如何将函数作为另一个函数的参数传递.但我不知道传递给pthread的函数的参数是否可以是另一个函数.这甚至可能吗?

以下是编译好的示例代码,但不起作用:

#include <stdio.h>
#include <pthread.h>
#include <unistd.h>

pthread_t idThread;

void aFunction(){
    while(1){
        fprintf(stderr,"I've been called!\n");
        usleep(1000000);
    }
}

void * threadFunction(void *argFunc){
    // Do here some stuff;
    // ...

    // Now call the function passed as argument
    void (*func)() = argFunc;
}    

int thread_creator(void(*f)()){
    // I want to use as argument for threadFunction the f function
    pthread_create(&idThread, NULL, threadFUnction, (void *)f);
}

int main(){
    thread_creator(aFunction);
    while(1);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c pthreads

4
推荐指数
1
解决办法
1628
查看次数

如何使用libmosquitto进行编译

我试图编译libmosquitto网站上的代码示例(在底部):http: //mosquitto.org/man/libmosquitto-3.html

我使用Ubuntu 12.04并安装了libmosquitto1和libmosquitto1-dev软件包.在安装它们之前,我添加了mosquitto存储库:

sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa
sudo apt-get update
Run Code Online (Sandbox Code Playgroud)

我试图编译示例如下:

gcc -lmosquitto mosquito.c -o mosquito
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

/tmp/cc6eU8kw.o: In function `my_connect_callback':
mosquito.c:(.text+0xf8): undefined reference to `mosquitto_subscribe'
/tmp/cc6eU8kw.o: In function `main':
mosquito.c:(.text+0x298): undefined reference to `mosquitto_lib_init'
mosquito.c:(.text+0x2b4): undefined reference to `mosquitto_new'
mosquito.c:(.text+0x310): undefined reference to `mosquitto_log_callback_set'
mosquito.c:(.text+0x324): undefined reference to `mosquitto_connect_callback_set'
mosquito.c:(.text+0x338): undefined reference to `mosquitto_message_callback_set'
mosquito.c:(.text+0x34c): undefined reference to `mosquitto_subscribe_callback_set'
mosquito.c:(.text+0x364): undefined reference to `mosquitto_connect'
mosquito.c:(.text+0x3b4): undefined reference to `mosquitto_loop'
mosquito.c:(.text+0x3c8): undefined reference to `mosquitto_destroy'
mosquito.c:(.text+0x3d0): undefined reference …
Run Code Online (Sandbox Code Playgroud)

c gcc mqtt mosquitto

3
推荐指数
1
解决办法
8636
查看次数

标签 统计

c ×2

gcc ×1

mosquitto ×1

mqtt ×1

pthreads ×1