编译器如何确定它在哪个平台上 运行?
How does the compiler determin on which platform it is running?
如果某个应用程序受两个不同操作系统的支持。每个操作都有一个特定的实现 system.I 想知道编译器如何知道它在哪个平台上 运行 以便它编译实现 X 而不是 Y。
目标平台由编译器使用命令行标志确定,这些标志由 IDE 或开发人员提供。例如,gcc 的 -m32
标志,或 MinGW 的 -mwindow
。您可以在编译器文档中看到完整的此标志集。
编译器通常采用高级语言(例如 C、Rust、Go)编写的程序,并为特定的 OS 和体系结构生成可执行文件。如果您的编译器可以支持多个 OSes 和体系结构,那么您很可能会通过命令行标志或某些配置文件传递适当的参数。编译器还可以尝试通过诸如 "OS" 和 "PROCESSOR_ARCHITECTURE".
如果某个应用程序受两个不同操作系统的支持。每个操作都有一个特定的实现 system.I 想知道编译器如何知道它在哪个平台上 运行 以便它编译实现 X 而不是 Y。
目标平台由编译器使用命令行标志确定,这些标志由 IDE 或开发人员提供。例如,gcc 的 -m32
标志,或 MinGW 的 -mwindow
。您可以在编译器文档中看到完整的此标志集。
编译器通常采用高级语言(例如 C、Rust、Go)编写的程序,并为特定的 OS 和体系结构生成可执行文件。如果您的编译器可以支持多个 OSes 和体系结构,那么您很可能会通过命令行标志或某些配置文件传递适当的参数。编译器还可以尝试通过诸如 "OS" 和 "PROCESSOR_ARCHITECTURE".