質問編集履歴
1
誤字修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
Oggファイルを再生するDLLを作ろうと、C++とC言語を組み合わせてDLLを作ったのですが、マルチスレッドだとバグが起き
|
1
|
+
Java上でOggをJavaからDLLを呼び出すJNA経由で再生するために、Oggファイルを再生するDLLを作ろうと、C++とC言語を組み合わせてDLLを作ったのですが、マルチスレッドだとバグが起き、原因がグローバル変数を用いており、そのグローバル変数がマルチスレッドだと同じ内容が共有されているからだと分かりました。
|
2
2
|
|
3
3
|
このグローバル変数をスレッドローカルにしようとしたのですが、コンストラクタとデストラクタがあるクラスでは、スレッドローカルの変数にする事が出来ません
|
4
4
|
|
@@ -6,6 +6,9 @@
|
|
6
6
|
|
7
7
|
コードは以下の物となります。OggDecorderクラスなどのソースは下記のサイトに有ります。
|
8
8
|
http://marupeke296.com/OGG_main.html
|
9
|
+
この質問は下記の質問に関連したものです
|
10
|
+
https://teratail.com/questions/35915
|
11
|
+
|
9
12
|
```C++
|
10
13
|
#include <memory.h>
|
11
14
|
#include <string>
|