私は主にビデオ処理に使用されるC++プログラムを持っています。プログラムの中で、私はsystem
コマンドを起動して、処理されたビデオをいくつかの他のバイナリに渡して後処理します。C++ - システムコマンド
私はループを無限に向けており、毎回ループの中でシステムコマンドを起動しています。問題は、ある時点で、system
コマンドから-1のリターンコードを受信していることです。その理由は何でしょうか?
システムコマンドの中で、私はメインプロジェクトの適切なパラメータを持つバイナリファイルを呼び出しています。
私が実行したいsystem
コマンドは実際にはシェルファイルです。 このファイルでは、ビデオから主な機能を抽出し、3DパーティライブラリからSVMモデルに渡して、目的の分類を取得します。
./LiveGestureKernel ./Video ./SvmVideo
./mat4libsvm31 -l SvmVideoLabels <SvmVideo> temp_test_file
./svm-predict temp_test_file svm_model temp_output_file
cat < temp_output_file
rm -f temp_*
は、whileループを通る反復の一定数の後、それだけでスクリプトファイルを実行しないであろうと、私はその理由を把握することはできません。ありがとう!
これは環境によって異なりますが、実行中のプログラムが-1を返している可能性があります。 –
戻りコードは実行しているものによって異なります。もっと情報が必要です。 –
'system'ライブラリ呼び出しに関する情報を調べようとしましたか? –