exponenta event banner

Предоставление стандартных заголовков библиотек для анализа в пространстве

Прежде чем Polyspace ® проанализирует код на наличие ошибок и ошибок во время выполнения, он компилирует код. Даже если код компилируется с помощью компилятора, можно увидеть ошибки компиляции с помощью Polyspace. Если ошибка исходит от стандартной библиотечной функции, это обычно указывает, что Polyspace не использует заголовки компилятора. Чтобы обойти ошибки, укажите путь к заголовкам компилятора.

В этом разделе показано, как найти заголовки стандартных библиотек из компилятора. Примеры кода вызывают ошибку компиляции, которая показывает расположение заголовков.

  • Чтобы найти папку, содержащую системные заголовки компилятора C, скомпилируйте этот код C с помощью цепочки инструментов компиляции:

    float fopen(float f); 
    #include <stdio.h> 

    Код не компилируется, так как fopen объявление вступает в конфликт с объявлением внутри stdio.h. Ошибка компиляции показывает расположение реализации компилятора stdio.h. Заголовки стандартных библиотек C, скорее всего, находятся в этой папке.

  • Чтобы найти папку, содержащую системные заголовки компилятора C++, скомпилируйте этот код C++ с помощью цепочки инструментов компиляции:

    namespace std {
        float cin; 
    }
    #include <iostream> 
    
    Код не компилируется, так как cin объявление вступает в конфликт с объявлением внутри iostream.h. Ошибка компиляции показывает расположение реализации компилятора iostream.h. Возможно, все заголовки стандартных библиотек C++ находятся в этой папке.

После поиска пути к файлам заголовков компилятора укажите путь для анализа Polyspace. Для кода C++ укажите пути к заголовкам C и C++.

Связанные темы