Condividi tramite


Avviso del compilatore (livello 3) C4414

'function': short jump to function convertito in near

I salti brevi generano istruzioni compatta che si diramano a un indirizzo all'interno di un intervallo limitato dall'istruzione . L'istruzione include un offset breve che rappresenta la distanza tra il salto e l'indirizzo di destinazione, la definizione della funzione. Durante il collegamento di una funzione può essere spostata o soggetta a ottimizzazioni del tempo di collegamento che causano lo spostamento della funzione all'esterno dell'intervallo raggiungibile da un offset breve. Il compilatore deve generare un record speciale per il salto, che richiede che l'istruzione jmp sia NEAR o FAR. Il compilatore ha eseguito la conversione.

Ad esempio, il codice seguente genera l'errore C4414:

// C4414.cpp
// compile with: /W3 /c
// processor: x86
int DoParityEven();
int DoParityOdd();
unsigned char global;
int __declspec(naked) DoParityEither()
{
   __asm
   {
      test global,0
      jpe SHORT DoParityEven  // C4414
      jmp SHORT DoParityOdd   // C4414
   }
}