私は、次のCソースがあります。as400/IBMのpthreadエラー・コード3029?
crtbndc pgm(test) srcfile(myfile) srcmbr(test)
call test
で呼び出されたとき、私は出力を得ることでコンパイル
#define _MULTI_THREADED
#include <pthread.h>
#include <stdio.h>
void* threadfunc(void* parm){
printf("Hello thread.\n");
pthread_exit(NULL);
}
int main(int argc, char* argv[]){
pthread_t t;
int rc;
rc = pthread_create(&t, NULL, threadfunc, NULL);
printf("Create return code: %i\n", rc);
if(!rc){
pthread_join(t, NULL);
}
return 0;
}
:
は、リターンコードを作成します:3029
をこのエラーコードは何を意味しますか?
私は次の質問を投稿しようとしていましたが、90分ごとに投稿できるので、ここで質問します。私は、コマンドSBMJOBでジョブを開始する代わりの方法の1つを試しましたが、この方法ではジョブの印刷呼び出しを画面に印刷しません。 CALLコマンドで直接呼び出された場合と同じように、SBMJOBプリントを使ってジョブを起動する方法を教えてください。 –
サブミットされたジョブは、ローカル・ワークステーションとは別の* batchモードで実行され、\ * nixとは異なり、オブジェクトベースのIBM iはすべてをオープンできる*ファイル*として扱いません。別のOSの場合のように他のジョブから簡単に書き込むことができます。おそらく、提供される*代替案を試してみるのが最も簡単です。とりわけ 'ADDENVVAR QIBM_MULTI_THREADED 'Y''の後に' test.pgm'を起動するために 'QSH'を使います – CRPence