A newer version of this document is available. Customers should click here to go to the newest version.
API Support
Intel® Inspector provides API support that allows you to:
- Gather semantic information related to your synchronization constructs. 
- Identify the semantics of your malloc-like heap management functions. 
- Specify which parts of your application should be analyzed. 
Applications or modules linked to the static API library do not have a runtime dependency on a dynamic library, so they can be executed independently of Intel Inspector and other Intel studio tools.
- There are no Java or .NET APIs. If you need runtime environment support, you can use a JNI, or C/C++ function call from the managed code. If the collector causes significant overhead or data storage, you can pause the analysis to reduce the overhead. 
- For information on Windows* OS API support, see the Appendix. 
Using C/C++ and Fortran APIs
The default installation path, <install-dir>, is below C:\Program Files (x86)\IntelSWTools\ (on certain systems, the directory is Program Files). For Intel® oneAPI HPC Toolkit or Intel® oneAPI IoT Toolkit installations on Windows*, the default installation path is below C:\Program Files (x86)\Intel\oneAPI\.
- Specify this file in your code: - For C/C++, include <install-dir>\include\ittnotify.h 
- For Fortran, use <install-dir>\include\<ia32|intel64>\ittnotify.mod
 
- Insert __itt_* notifications in appropriate places in your code.
- Link to this file: - For C/C++, link to <install-dir>\<lib32|lib64>\libittnotify.lib 
- For Fortran, link to <install-dir>\<lib32|lib64>\libittnotify.lib 
 
Conditional Compilation for Release Versions
For best performance in the release version of your code, use conditional compilation to turn off all annotations. To eliminate all __itt_* functions from your code during compilation of the release version, define the macro INTEL_NO_ITTNOTIFY_API before including ittnotify.h.
You can also define this macro to remove the static library during the linking stage.