- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
Ubuntu Linux 9.04 下的 gcc 版本 4.3.3 以防相关。
这是有问题的代码:
pthread_cleanup_push(ctl_cleanup, NULL);
ctl_cleanup() 定义为
void* ctl_cleanup(void *arg);
在类似情况下,还有其他情况会弹出此警告。如果我调用类似的东西,也会出现警告
pthread_cleanup_push(pthread_mutex_unlock, (void *)&m);
其中 m 是 pthread_mutex_t 类型。警告内容如下:
warning: initialization from incompatible pointer type
我不明白。我在没有警告的情况下使用 void 指针传递了其他东西(例如,将参数传递给 pthread 时)。有人可以帮帮我吗?
最佳答案
void ctl_cleanup(void *arg);
以上就是您要找的原型(prototype)。它返回 void,而不是指向 void 的指针。
函数中额外的 * 是因为它接受一个指向函数的指针,该函数接受一个 void* 参数并返回 void。
关于C (gcc) 警告 : initialization from incompatible pointer type when calling pthread_cleanup_push(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6119140/
我有一个使用文件描述符的线程并且必须 close()取消时的文件描述符。伪代码如下所示: static void thread_cleanup(void *args) { int *fd =
我想知道如何将成员函数传递给pthread_clean_push。我不想将清理函数声明为静态函数并将对象的引用传递给它。下面是场景 class Foo{ public: Foo(string n
我尝试在我的代码中添加一个部分,该部分能够在取消的情况下解锁互斥量。这可能会发生并会导致死锁。因此,我尝试添加 pthread_cleanup_push(cleanup_unlock_mutex, &
我在 C 中有以下代码: pthread_cleanup_push(pthread_mutex_unlock, &mutex); 但是当我编译它时,我收到以下警告: warning: initiali
当我尝试将函数 cleanup_thread() 传递给 pthread_cleanup_push() 时: pthread_cleanup_push(cleanup_thread, arg); 我收
在使用 pthread_cleanup_push/pop 和 -O2 CFLAGS 编译一段代码时,我收到一些警告。只需删除 Makefile 中的 O2 cflags 即可顺利编译。 是否禁止对这些
我有一个类似的代码: myThread() { pthread_cleanup_push(CleanupHandler , NULL) while (true) {
我在Advanced Programming in the UNIX Environment (3rd Edition)中读到了这一点,11.5,线程终止: If we run the same pr
Ubuntu Linux 9.04 下的 gcc 版本 4.3.3 以防相关。 这是有问题的代码: pthread_cleanup_push(ctl_cleanup, NULL); ctl_clean
我是一名优秀的程序员,十分优秀!