检测GCC配置的目标CPU是什么?

Pro*_*ica 5 gcc c-preprocessor

可能重复:
检测CPU体系结构编译时

是否有GCC设置的定义,它告诉哪个CPU(x86/amd64/ppc/etc)配置了GCC?

所以我可以使用它:

#ifdef PPCARCH
  dosomething();
#endif
Run Code Online (Sandbox Code Playgroud)

Ser*_*rge 5

要在源代码中编译时检测体系结构,请使用预定义的宏.

根据这篇文章,它将始终具有表单中的名称_arch___arch__arch是目标体系结构的名称.要查看确切定义的内容,请使用以下命令:

touch foo.h; cpp -dM foo.h; rm foo.h
Run Code Online (Sandbox Code Playgroud)

它将打印出所有预定义的宏.

要在命令行上打印,请尝试:

gcc -dumpmachine
Run Code Online (Sandbox Code Playgroud)

它将显示GCC的目标.