スタンドアロンアプリ​ケーションのEXEフ​ァイルが戻り値を返す​ように作成することは​できますか?

22 visualizaciones (últimos 30 días)
MathWorks Support Team
MathWorks Support Team el 8 de Mzo. de 2016
Comentada: Shojiro SHIBAYAMA el 7 de Jun. de 2018
MATLAB Compiler を使用して実行形式 (EXE) のスタンドアロンアプリケーションを作成する際、その EXE ファイルが戻り値を返すように作成する方法を教えてください。

Respuesta aceptada

MathWorks Support Team
MathWorks Support Team el 20 de Jul. de 2020
コンパイル前の .m ファイル内にて exit 関数を使用することにより実現することができます。
コード(test.m):
==============
function c = test(a,b)
%スタンドアロンのときのみ引数を文字列から数値へ変換
if isdeployed
a = str2num(a)
b = str2num(b)
end
c = a * b
%スタンドアロンのときのみexitを使用
if isdeployed
exit(c) % Return exit code 3.
end
end
==============
コンパイルコマンド:
>> mcc -mv test
コマンドプロンプト実行方法:
> start /wait test 3 4
> echo %ERRORLEVEL%
ポイント:
・.mファイルの引数は、exe化し、コマンドプロンプトから渡した場合、取り込まれた時点では文字列のため、str2numなどで数値化する必要があります。
・exitコマンドは.mファイルの際には使用しないほうがお勧めです。
・exit コマンドによる戻り値は環境変数 ERRORLEVEL に格納されます
  1 comentario
Shojiro SHIBAYAMA
Shojiro SHIBAYAMA el 7 de Jun. de 2018
有用な情報ありがとうございます!
追加で質問です。 matlabから.exeを呼び出して、 >> eval('!test 3 4') のように扱う方法はあるのでしょうか? ご回答よろしくお願いします!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre スタンドアロン アプリケーション en Help Center y File Exchange.

Productos


Versión

R2009a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!