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

8 visualizaciones (últimos 30 días)
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'

Respuesta aceptada

MathWorks Support Team
MathWorks Support Team el 18 de Nov. de 2022
Editada: MathWorks Support Team el 18 de Nov. de 2022
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

Más respuestas (0)

Etiquetas

Aún no se han introducido etiquetas.

Community Treasure Hunt

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

Start Hunting!

Translated by