Я столкнулся с кодом, который использует __attribute__((section(“name”)))
для глобальных переменных процессора. Я искал об этом и узнал, что он используется для размещения данных в указанном месте памяти с помощью сценариев компоновщика. Чего я не понимаю, так это того, как его можно использовать для данных per-cpu — то есть, если глобальная переменная помещена в секцию, определенную с помощью __attribute__((section(“name”)))
, то каждый процессор имеет свою собственную копию этой глобальной переменная. Я могу ошибаться, но моя интуиция подсказывает, что скрипты компоновщика используются вместе с __attribute__((section))
, чтобы это произошло. Но я не знаю как. Небольшой рабочий пример или подсказка, как реализовать это в коде, было бы здорово.
Примечание: этот вопрос касается языка C.