C ++ нужен для сборки во встроенных системах - PullRequest
0 голосов
/ 09 февраля 2010

Я слышал о необходимости вызова функций / вызовов ассемблера при программировании встроенных систем на C. Это необходимо в C ++ или нет?

Ответы [ 2 ]

5 голосов
/ 09 февраля 2010

C ++ не предоставляет более низкоуровневых конструкций, чем C. Следовательно, если вам нужно возиться с управляющими регистрами и ISR в C, вам нужно будет сделать это в C ++.

3 голосов
/ 09 февраля 2010

Вызов функций сборки или использование вызовов сборки состоит из:

  • Любая встроенная сборка, завернутая в функцию C / C ++ с использованием соответствующего тега компилятора, или
  • Другой объект, связанный с вашим исполняемым файлом, который был написан на ассемблере и ведет себя как функция C относительно реализации в вашей системе.

Итак, если вам нужно использовать ассемблер в C, вам нужно использовать ассемблер в C ++. Это касается не только встроенного программирования. Для примера возьмем выполнение инструкции cpuid на чипах Intel x86.

...