2013-05-09 1 views
0
내가 ECM 일하고

을 제대로 실행되지 않는 것을 이제까지실행 오류 : C 코드의 일부는 컴파일하지만 ECM

코드 x=(a+b)/2있다 (우리는 육각 파일을 생성하고 컨트롤러에 플래시 gcc 컴파일러를 사용) ab의 값이지만, x의 값은 항상 0입니다.

ECM을 재설정하려는 x에 반복 조건이 있습니다.

어떤 아이디어가 잘못 되었나요? 내가 시도

것들 :

  1. 그냥 위의 몇 가지 중복 코드를 추가 -> 가치가 없다, 컴파일러는
  2. 내가 컴파일러의 최적화를 의심하는 것이 최적화 -> 따라서 조립을 살펴했다 코드,하지만 그건 전혀 도움이 다음 중 하나입니다
  3. 글로벌 (개인되기 전에) 변수를 만든 -> 넣어 당신이 내가 시도 할 수있는 다른 무엇에 대한 몇 가지 빛을 던질 수 같은

입니까?

이는 자동 코드 (MATLAB 모델링 사용)이기도합니다.

+2

"ECM"이란 무엇입니까? 당신의 코드는 무엇입니까? 'a'와'b'의 값은 무엇입니까? 'a','b' 및'x'의 종류는 무엇입니까? –

+0

조금 더 많은 컨텍스트가 필요합니다. @ Buyruer의 답은 맞을지 모르지만 (MATLAB의 코드 생성에 대해 알지 못한다면) 추측 할 만합니다. 컴파일러가 최적화되지 않은 경우 코드가 작동합니까? 그 때 DKrueger는 돈에 아마있다. – Clifford

답변

0

ab의 선언에 volatile 한정자를 추가하십시오.