Why do I get a compilation error for a standard function stubbed by PolySpace?

조회 수: 7 (최근 30일)
I am using a custom implementation of memcpy. So I included my own header file string.h to the analysis. However, when I try to start the analysis I get the following compilation error:
ERROR: Stubbing standard library functions ...
C-STUBS/__polyspace__stdstubs.c:2870: missing parameter 4 type
C-STUBS/__polyspace__stdstubs.c:2870: syntax error; found `n' expecting `)'
C-STUBS/__polyspace__stdstubs.c:2870: skipping `n'
C-STUBS/__polyspace__stdstubs.c:2871: conflicting redeclaration of `memcpy' previously declared at /cygdrive/c/PolySpace/work/string.h:1
C-STUBS/__polyspace__stdstubs.c:2880: undeclared identifier `n'

채택된 답변

MathWorks Support Team
MathWorks Support Team 2022년 11월 18일
편집: MathWorks Support Team 2022년 11월 18일
Polyspace provides stubs for all standard library function like memcpy. If your implementation differs from that standard implementation then you might receive an error message like the one mentioned above.
In that case you can switch off the standard library stubbing for this particular function by adding the define
-D __polyspace_no_memcpy
to the analysis options. So Polyspace would either use your implementation of memcpy or it would stub the function based on the prototype you mention in the header file.
For details see page 7-53 (Linking: Conflict with Standard Library Function Stubs) in the Polyspace Code Prover User's Guide, which can be found online at
https://www.mathworks.com/help/pdf_doc/codeprover/codeprover_ug.pdf

추가 답변 (0개)

태그

아직 태그를 입력하지 않았습니다.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by