Я работаю с xv6 и есть ас-файл, который содержит следующее:Использование структуры без имени структуры, как экстерн в другом файл
struct {
struct spinlock lock;
char buf[INPUT_BUF];
uint r; // Read index
uint w; // Write index
uint e; // Edit index
} input;
Я не хочу, чтобы редактировать этот файл, но я хочу использовать input
в другом файле, который я сделал. Я не уверен, как это сделать, внешние объявления вроде extern input
и не работают
Объявление 'extern' требует типа, который вы не можете предоставить (если вы имели в виду, когда вы сказали, что не хотите изменять этот файл), не реплицируя это объявление структуры (и это может быть не так прямолинейно, как это похоже, модификаторы выравнивания, упаковка и т. д.). Вы не можете просто «extern» var 'input' без информации о типе. – WhozCraig