Come includere il codice assembly nel mio codice C in Turbo C?
-
04-07-2019 - |
Domanda
Come includere eventuali righe di codice assembly nel mio programma C?
In turbo c c'è la possibilità di aggiungere un file di codice assembly (.asm) a un progetto con pochi file .c?
Soluzione
Un modo per includere il codice assembly è aggiungere una funzione wrapper e scrivere il codice assembly nel blocco asm, come mostrato nell'esempio seguente:
void wrapper_function()
{
asm
{
/* your assembly code */
}
}
Altri suggerimenti
Puoi usare il tuo makefile per definire azioni per diversi tipi di target. Per i tipi C (ad es. Foo.c) fare invocare il compilatore C. Per i file ASM, invocare l'assemblatore. L'output di entrambi dovrebbe essere un file oggetto (ad esempio .o) che può essere compilato insieme dal linker.
Se hai un po 'di assemblaggio, vai avanti in linea. Altrimenti, consiglio moduli separati e decomposizione funzionale come il modo migliore per gestire tutto. Soprattutto se è necessario supportare obiettivi diversi (ad es. Sviluppo multipiattaforma).
Puoi anche collegare i file oggetto. Ma l'assemblatore in linea è molto più facile da mantenere.
void func()
{
asm://assembly statements...
asm://assembly statements...
...
}