Как включить ассемблерный код в мой C-код в Turbo C?
-
04-07-2019 - |
Вопрос
Как включить строки ассемблера в мою программу на C?
В Turbo C есть возможность добавить файл кода сборки (.asm) в проект из нескольких файлов .c?
Решение
Одним из способов включения кода сборки является добавление функции-оболочки и запись кода сборки в блок asm, как показано в примере ниже:
void wrapper_function()
{
asm
{
/* your assembly code */
}
}
Другие советы
Вы можете использовать свой make-файл для определения действий для различных типов целей. Для типов C (например, foo.c) вызывается компилятор C. Для файлов ASM вызовите ассемблер. Выходные данные любого из них должны быть объектным файлом (например, .o), который может быть скомпилирован компоновщиком.
Если у вас есть немного сборки, продолжайте в линию. В противном случае я рекомендую отдельные модули и функциональную декомпозицию как лучший способ управлять всем. Особенно, если вам нужно поддерживать разные цели (например, кроссплатформенную разработку).
Вы также можете ссылаться в объектных файлах. Но встроенный ассемблер намного проще в обслуживании.
void func()
{
asm://assembly statements...
asm://assembly statements...
...
}