Нет, вы не можете включать объявления C на языке ассемблера. Ассемблер понятия не имеет, что означает struct tree
.
Если вы хотите написать функцию foo
на ассемблере, которая использует ваше определение struct tree
, вам придется делать это без использования файла заголовка C.
Чтобы получить представление о том, как это может выглядеть, напишите функцию foo
в C, скомпилируйте ее с помощью gcc -S
, чтобы сгенерировать листинг сборки, а затем взгляните на полученный сгенерированный компилятором файл common.s
. , (Вероятно, вы должны сделать это в отдельном каталоге, чтобы не стереть существующий файл common.s
.)
Вы, вероятно, не увидите никаких ссылок на struct tree
или на имена членов left
, right
и elem
; вместо этого вы увидите коды операций сборки, которые ссылаются на данные с определенными смещениями.