/QIPF_noPIC(生成依赖于位置的代码)

默认情况下,面向 Itanium 的 Visual C++ 编译器会生成与位置无关的代码。/QIPF_noPIC 将生成具有位置相关代码的映像。

/QIPF_noPIC

备注

说明说明

/QIPF_noPIC 只可用于以 Itanium 为目标的编译器。在以 x64 或 x86 为目标的编译器中,此编译器选项不可用。

如果映像无法在其首选地址加载,由于在首选地址之外的其他地址加载映像时,与位置无关的代码中的相对地址不需要进行修正,所以与位置无关的代码比位置相关代码加载得更快。而且,Windows 还允许用户共享未修正过的相同代码,而对于已修正代码,每个用户将获得已修正代码的单独实例。

但是,如果映像无法在首选地址加载,则与位置无关的代码的性能比位置相关代码的性能差。以服务器应用程序为例,其中用户可能并不在乎(可能)启动时间较长,且用户很少同时运行这些应用程序的多个副本,则此应用程序可从位置相关代码所提供的额外性能中受益。

在 Visual Studio 开发环境中设置此编译器选项

  • /QIPF_noPIC 在 Visual Studio 开发环境中不可用。

以编程方式设置此编译器选项

请参见

参考

/Q 选项(低级别操作)

编译器选项

设置编译器选项