そこで、flascc をダウンロードして、サンプルをいじりました。
サンプル 09 (スレッド) とサンプル 12 (stage3D) は、それ自体はうまく機能しましたが、Stage3D サンプルでスレッドを実行しようとすると、スレッドが開始されませんでした。
ここに私が持っているコードがあります main()
pthread_t thread;
printf("Start a thread");
int val = pthread_create(&thread, NULL, threadProc, NULL);
// Setup the stage
stage = internal::get_Stage();
stage->scaleMode = flash::display::StageScaleMode::NO_SCALE;
stage->align = flash::display::StageAlign::TOP_LEFT;
stage->frameRate = 60;
// Ask for a Stage3D context to be created
s3d = var(var(stage->stage3Ds)[0]);
s3d->addEventListener(flash::events::Event::CONTEXT3D_CREATE, Function::_new(initContext3D, NULL));
s3d->addEventListener(flash::events::ErrorEvent::ERROR, Function::_new(context3DError, NULL));
s3d->requestContext3D(flash::display3D::Context3DRenderMode::AUTO,
flash::display3D::Context3DProfile::BASELINE_CONSTRAINED);
// Suspend main() and return to the Flash runloop
AS3_GoAsync();
そしてここに関数があります
void *threadProc(void *arg)
{
printf("From a thread!");
}
threadProc は決して実行されません。
このマニュアルページを見つけましたが、そこには何もないと思います。私は何が欠けていますか?