• Intel® Graphics Performance Analyzers 2020 R1
  • 12/20/2019
  • Public Content
Contents

使用 ITT API 进行编译和链接

在检测应用程序之前,需要先配置编译系统,使其能够访问 API 的头文件和函数库。
<install_dir>
是 Intel® Graphics Performance Analyzers 的安装目录。
  • <install_dir>
    \
    sdk\
    include 添加至 INCLUDE 路径
  • <install_dir>
    \
    sdk\
    lib\x86 添加至 32-bit LIBRARIES 路径
  • <install_dir>
    \
    sdk\
    lib\x64 添加至 64-bit LIBRARIES 路径
默认安装目录为 C:\Program Files\IntelSWTools\GPA
将 ITT API 头文件包括到应用程序中
将以下
&num;include
语句添加到要检测的的每个源文件:
&num;include <ittnotify.h>
头文件
ittnotify.h
包含 ITT API 例程和重要的宏的定义,这些例程和宏提供从用户应用程序调用 API 的正确逻辑。
备注
头文件
ittnotify.h
定义许多本文档未涉及的函数。然而,Intel® GPA 仅支持本文叙述的函数。
ITT API 设计为在禁用跟踪时的开销几乎为零。不过,如果需要完全的零开销,可以从应用程序编译出所有 ITT API 调用,方法是:或者通过编译器命令行,或者在源文件中加入
ittnotify.h
文件之前,在编译项目中定义
INTEL_NO_ITTNOTIFY_API
宏文件。
libittnotify.lib
静态库链接至应用程序
需要将静态库
libittnotify.lib
链接到应用程序。如果启用跟踪,此静态库将加载 ITT API 数据收集器,并将 ITT API 检测数据转发到 Intel® GPA。
如果跟踪被禁用,该静态库忽略 ITT API 调用,提供几乎为零的检测开销。
备注
如果在配有旧版 Microsoft* Visual Studio* 的系统上运行 Intel® GPA,必须安装相应的安全更新,以链接
libittnotify.lib
静态库的动态版本:
Microsoft* Visual Studio* 版本
安全更新
Microsoft Visual Studio* 2005
KB2538218
Microsoft Visual Studio* 2008
KB2538241
如果不想更新 Visual Studio 版本,就必须将
libittnotify.lib
静态
库链接至应用程序。
UNICODE 支持
所有使用字符串变量的 ITT API 函数均遵循 Windows* OS UNICODE 惯例,实际函数名称使用后缀
A
表示 ASCII API,
W
表示 UNICODE API。
例如:
__itt_domain_createA( const char* ); __itt_domain_createW( const wchar_t* );
为方便跨平台代码开发,ITT API 使用 C 语言宏
__itt_domain_create
。如果在 Windows* 操作系统上编译时定义了 UNICODE 宏,C 语言宏就会解析为
__itt_domain_createW
。否则,就会解析为 __itt_domain_createA。
条件编译
为使代码发行版获得最佳性能,使用条件编译来关闭注释。先定义宏
INTEL_NO_ITTNOTIFY_API
,再在编译时使用
ittnotify.h
,从代码中排除所有
__itt_*
函数。
也可以通过定义这个宏来从链接阶段移除所有静态库。
 

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.