如何不在其他机器(x86_64 Linux)上运行Pi特定的代码

How not to run Pi specific code in other machines (x86_64 Linux)?

本文关键字:运行 Pi 代码 Linux 其他 何不 机器 x86      更新时间:2023-10-16

在编写Raspberry Pi应用程序时,我大部分时间都在使用我的PC,因为它比Pi快一点。

今天,当调用WiringPi特定代码(wiringPiSetup();)时,我收到了以下消息:

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 部分),但在 PC 上运行时执行其余部分。

实际上我应该如何处理这个问题?

我的第一个解决方案是将 pi 特定的代码包含在类似

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

我现在手头没有PI,所以我不确定宏__arm__是否正确,但是gccg++应该可以工作,请参阅sourceforge关于架构定义的文章。

这比模拟所有内容要容易得多,但另一方面,代码甚至没有在您的 PC 上编译,因此甚至不会出现编译器错误。