기타/문제해결기2017. 4. 7. 06:54

다음과 같은 소스파일이 있다고 하자.


A.cpp


void testMainFunction(){

#ifdef LittleEndian

cout<< "LittleEndian Action" << cout;

#else

cout<< "BigEndian Action" << cout;

#endif

}



B.cpp


#define LittleEndian


void testB(){

testMainFunction();

}


C.cpp


void testC(){

testMainFunction();

}



B와 C에서 같은 함수를 호출하지만 결과는 서로 다르다.

만약 어떤 MCU가 서로 다른 두 센서에 시리얼 포트로 데이터를 전송한다고 하자.

첫번째 센서가 LittleEndian으로 데이터를 수신하고 두번째 센서가 BigEndian으로 데이터를 수신한다면 위와 같은 방법을 이용하면 같은 각각의 센서에 대해 큰 변동없이 같은 함수를 호출하여 대응할 수 있다.

Posted by 십자성군
기타/문제해결기2017. 4. 7. 06:45

C++에서 위 에러는 생성자 또는 소멸자가 없는 클래스 변수를 전역변수로 선언할 때 발생한다.

보통 클래스를 만들 때 생성자와 소멸자를 기본적으로 만들지만 없을 경우 해당 클래스 변수는 전역변수로 선언할 수 없다.


만약 어떻게해서든 전역변수로 선언하고 싶다면 해당 클래스의 포인터를 전역변수로 선언하고 임의의 함수에서 해당 포인터변수에 값을 할당하면 된다.

Posted by 십자성군
Software/Android2017. 3. 28. 12:13

참조 : http://silpmomo.tistory.com/63


'Software > Android' 카테고리의 다른 글

[Android] GoogleMaps의 화면이 안뜰때  (0) 2015.03.10
레이아웃 중첩  (0) 2015.02.05
렐러티브 레이아웃  (0) 2015.02.05
리니어 레이아웃과 배치  (0) 2015.02.04
앱의 전체적인 화면 방향의 설정과 고정  (0) 2015.02.04
Posted by 십자성군