main関数でclone()システムコールを使用して2つのスレッドを取得する必要があります。 (私は知っている、他のオプションがありますが、この場合、それはクローン()でなければなりません)。clone()が呼び出す関数にパラメータを渡すにはどうすればよいですか?
システムコールが機能し、両方のスレッドが指定された関数(foo)に到着します。しかし、この機能では、私は彼らがこのシグネチャを持つ別の関数を呼び出す必要があります:
void increment(int* a, int b)
(追記:それはへのb * 1を追加します(= + B)。)
重要なことがあること、ですaとbの両方がmain-functionで宣言されていて、それらをfooに渡す方法はわかりません。
私はすでにさまざまなことを試みましたが、成功しませんでした。私はヒントを得た:アダプターを使用する。 しかし、私はこれを行う方法の手がかりがありません。 (私はまたintとクローンでargsを使用する方法を知らない)
何か提案がありますか?
[OK]を感謝します。最大の問題は何とかそのvoidポインタに情報を取得することでした。私は明日これを試してみます(ここは遅いです)。 – pDOTgetName
この例は少し危険ですが、 'fn'が実行される前にmainが復帰するかもしれないので、スタック上のclone_argsはなくなるかもしれません。 – nos