Contenuto principale

La traduzione di questa pagina non è aggiornata. Fai clic qui per vedere l'ultima versione in inglese.

Generazione e chiamata di codice rientrante

Generare e chiamare codice rientrante per ambienti singoli o multithread

Per impostazione predefinita, il codice generato crea delle variabili static per le variabili la cui grandezza supera il valore massimo di utilizzo dello stack, memorizzato nell'impostazione dell'oggetto di configurazione StackUsageMax. I dati delle variabili static persistono tra le chiamate di funzione. In modo analogo, i dati per le variabili globali e per le variabili persistenti di MATLAB® continuano a essere presenti tra le chiamate di funzione. Pertanto, se la funzione principale esegue il codice generato in più thread, possono verificarsi condizioni di race indeterminate.

Per generare codice più adatto all'esecuzione simultanea in più thread, è possibile utilizzare l'opzione di configurazione MultiInstanceCode. Quando si utilizza questa opzione, il codice generato avvolge i dati che possono eccedere la memoria locale del thread in una definizione di struttura, consentendo di allocare la memoria thread-safe per quella struttura in modo individuale. In modo analogo, il generatore di codice avvolge i dati persistenti e globali in una propria struttura di memoria. Quando tale memoria non deve essere condivisa, è possibile allocare memoria individuale per le strutture di dati utilizzate da un thread.

Argomenti

Nozioni di base sul codice rientrante

Workflow