この質問に適切なタイトルを付ける方法が本当にわかりません。申し訳ありません。
このすべての目的が何であるかを知るために: uint8_t 変数ポインターを bar() に渡します。これにより、1 または 0 に設定され、メイン内の状態を確認できます。zbar() が必要です。これはスレッドであり、実際に値を 1 または 0 に設定します
だから私はどこかに持っています:
struct foo_t {
...
uint8_t *state;
};
そして主に私は一緒に行きます:
int main(void) {
uint8_t state = 0;
bar(&state);
while(1) {
if(state)
//do something here
}
}
ここには、別のソースファイルの別の場所があります。
void bar(uint8_t *state) {
struct foo_t *foo; //using malloc here - don't worry
foo->state = state;
zbar(foo);
}
void zbar(struct foo_t *arg) {
if(condition)
arg->state = 1;
else
arg->state = 0;
}
これを機能させる方法は?o0 zBar は実際には arg 構造体にアクセスできますが、それはまったく問題ではありません。
スレッド内などで使用されているので、なぜそんなに奇妙にしているのか心配しないでください。