相关疑难解决方法(0)

可以用变量体定义类似函数的宏吗?

我一直在寻找用于定义宏的GCC文档,它看起来像我想要的是不可能的,但我想如果是,有人在这里会知道.

我想要做的是定义这个宏:

synchronized(x) {
  do_thing();
}
Run Code Online (Sandbox Code Playgroud)

其中扩展为:

{
    pthread_mutex_lock(&x);
    do_thing();
    pthread_mutex_unlock(&x);
}
Run Code Online (Sandbox Code Playgroud)

在C++中,我可以创建一个SynchronizedBlock在其构造函数中获取锁定并在析构函数中解锁的对象,但我不知道如何在C中执行此操作.

我意识到我可以在表单中使用函数指针synchronized(x, &myfunction);,但我的目标是使一些C代码看起来尽可能像Java一样.是的,我知道这是邪恶的.

c macros mutex

8
推荐指数
2
解决办法
3108
查看次数

标签 统计

c ×1

macros ×1

mutex ×1