[완료] C에서 C++ 함수를 호출했습니다. 그런데 변수 주소가 이상하게 되어버렸습니다.
글쓴이: eldrids / 작성시간: 일, 2012/04/01 - 3:59오후
C 메인에서
double *ARS (double gyro[3], double accl[3], double magn[3], double dt);
로 선언한 후 C++ 영역에 있는 함수를 호출했습니다.
ARS(gyro,accl,magn,0.01);
C++ 함수에 있는 영역 입니다.
extern "C" dMatrix ARS (double gyro[3], double accl[3], double magn[3], double dt);
dMatrix ARS (double gyro[3], double accl[3], double magn[3], double dt)
{
printf ("% 10.5lf, % 10.5lf, % 10.5lf, % 10.5lf, % 10.5lf, % 10.5lf\n", gyro[0], gyro[1], gyro[2],accl[0], accl[1], accl[2]);
}
그랬는데 출력 결과가 gyro를 출력하는게 아니라..accl값을 출력을 하더군요..
그리고 accl 값은 magn값이 출력 되었씁니다.
그래서 주소값을 봤더니 accl 주소값이 gyro로 가있는것입니다. magn 주소값은 accl로 가있고..
gyro는 어디로 갔는지 알수가 없습니다.
왜 이렇게 됬을지 도통 모르겠습니다.
Forums:
댓글 달기