1
首先,我还在学习C++,因为我需要修改一个程序来添加一些功能。在这个程序中,我有一个全局状态变量,它是一个结构体。这是想法/代码:作为全球范围内的结构变量 - 如何定义?
struct {
int counter;
int x;
int y;
} MyStruct;
这在主程序的“.H”和这个‘变量’(MYSTRUCT)定义被称为了很多函数来获取状态和其它信息。 问题是我需要将这些信息发送给一个线程。我正在尝试创建一个线程(使用pthread_create)并将此“变量”作为指向pthread_create函数的指针传递。这工作很好。问题是当我尝试在我的线程函数中访问此结构的任何属性时。我不能为我的局部变量绑定这个结构体,因为这个结构体没有定义名称!有可能访问没有结构名称的属性?我真的试图避免改变这个结构(甚至为它添加一个名称)。
我的并行线程创建(正常工作):
pthread_create(&proc_local_table_thread, NULL, procLocal, &MyStruct);
而我的线程函数(不工作):
void *procLocal(void *arg) {
int *a = arg.x;
// This doesn't work too
//int *a = (struct Modes)arg.x;
// Code...
}
C或C++?它们不一样,特别是在处理“空白”指针时。 –
[不起作用](http://importblogkit.com/2015/07/does-not-work/)不是一个好问题描述。 –
不要发送垃圾邮件标签! – Olaf