2016-06-03 3 views
0

라즈베리 파이 응용 프로그램을 코딩하는 동안 Pi보다 조금 빠르기 때문에 대부분 PC를 사용합니다.다른 컴퓨터에서 Pi 특정 코드를 실행하지 않는 방법 (x86_64 Linux)?

piBoardRev: Unable to determine board revision from /proc/cpuinfo 
-> No hardware line 
-> You may want to check: 
-> http://www.raspberrypi.org/phpBB3/viewtopic.php?p=184410#p184410 

내가이 실행되면 라즈베리 파이에게 특정 코드 (예 :이 WiringPi 부분)을 건너 뛸 수 있지만 나머지 부분을 실행하고 싶습니다 :

오늘은 내가 WiringPi 특정 코드 (wiringPiSetup();이)라고있어 때 다음과 같은 메시지를 받았습니다 PC.

사실이 문제는 어떻게 해결해야합니까?

+3

이 시점에서 코드를 본 사람은 당신뿐이므로 어떤 부분을 잘라야 할지를 알 수있는 유일한 사람입니다. 일반적으로 PC에서 실행할 수없는 부분은 모의해야합니다. –

+0

플러그인과 같이 런타임에 Pi 특정 코드를 실행해야합니까? – KcFnMi

+1

아니요, 바꾸려는 라이브러리의 기능을 조롱하는 자신 만의 대체 라이브러리를 작성하십시오. –

답변

1

내 최초의 솔루션은 내가 지금 손에 PI가없는

#ifdef __arm__ 
    /* pi specific stiff */ 
#endif 

같은에서 파이 특정 코드를 포함하는 것, 그래서 매크로 __arm__ 인 경우 절대적으로 확실하지 않다 정확하지만 gccg++이 작동해야합니다 (sourceforge article on architecture defines 참조).

이것은 모든 것을 조롱하는 것보다 훨씬 쉽지만 반면에 코드는 PC에서 컴파일되지 않아 컴파일러 오류조차 나타나지 않습니다.

+0

* "코드는 PC에서 컴파일되지 않습니다."* 위험한 가정이라고 ... 크로스 컴파일러가 있습니다. 실제로 ... 교차 컴파일러 ** 및 ** 에뮬레이터의 전체 번들이 있습니다. 밖에, 당신의 PC에 다른 플랫폼을위한 코드를 작성하고, 컴파일하고, 실행하는 것이 가능합니다. 몇 년 전 내가 살았던 것입니다. – specializt