1

을 사용하여 내 응용 프로그램을 컴파일하려고하지만 문제가있는 경우 ...
컴파일 용 라이센스가없는 일부 함수가 있다고합니다. .
문제는 그 중 하나가 내 응용 프로그램에서 (fimath.m) 그 기능을 사용하지 않은 것입니다.
이 함수는 내가 모르는 일부 함수 내에서 사용된다고 생각합니다.
내 질문에 내 기능 중 하나를 찾아 제거하거나 다른 기능으로 바꿀 이러한 기능을 사용하고 있는지 확인하는 방법입니다.
내 앱에 50 개가 넘는 기능이 있으며 하나씩 확인할 수 없습니다. 모든 들어MATLAB 컴파일러는 내 응용 프로그램의 일부 기능이 컴파일 기능에 대한 라이센스가 없음을 사용한다고 말합니다.

+0

[프로그램 의존성 확인] (http://www.mathworks.com/help/matlab/matlab_prog/identify-dependencies.html?requestedDomain=uk.mathworks.com)이 도움이 될지 모르겠습니다. – VTodorov

답변

0

은 "허가되지 않은"기능을 사용하면 여러 가지 일반적인 입력/경우에 일반적으로 코드를 실행

dbstop in <function name> % without the <> 

를 다음 명령을 실행하고 이후 반품. 이 중단 점 중 하나에서 멈 추면 호출 스택을보고 (dbstack 또는 MATLAB GUI의 Editor 탭 사용) 코드에서 진입 점을 식별합니다.

중단 점이 하나도없는 경우 이러한 함수가 코드 내부에서 참조되지만 일부 논리가 실행을 방해하고 (실제적으로 "도달 할 수없는 코드"로 변경됨) 의미 할 수 있습니다. 이 경우 이러한 참조를 수동으로 제거해야 할 수 있습니다. 어디에서 당신이 dir의 출력에 호출 할 수 있습니다

[fList,pList] = matlab.codetools.requiredFilesAndProducts('myFun.m'); 

(약간의 변환 후)를 사용하여 각 파일의 종속성을 나열 할 수 있습니다 VTodorov에 의해 게시 된 링크에서 정보를 사용하여 알고. toponly flag을 사용하는 것이 유용 할 수 있습니다.