Почему MSVC не поддерживает встроенный ассемблерный код для целей Itanium и AMD64?

Я использую посредника для добавления функциональности файла журнала.

Это работает как это:

  • Obj A говорит посреднику, что требуется что-то сделанное.
  • посредник отправляет сообщение в различные объекты клиента.
  • Obj B делает вещь Obj потребности и передает соответствующее сообщение обратно через посредника.
  • Между тем, Obj C также отправляется и сообщения посредника и регистрирует результаты. Тем путем мы можем получить пользовательскую статистику от файлов журнала.
  • Obj D мог быть ошибочным средством проверки также, так, чтобы, если Obj B отвечает, что запрос Obj A невозможен, Obj, D мог быть вещью, которая сообщает об этом пользователю. Ошибки могут теперь быть зарегистрированы другой файл, чем регулярное действие и могли использовать некоторые другие средства вести себя (подача звукового сигнала, безотносительно), что Obj A не должен действительно интересоваться.
11
задан Deduplicator 18 February 2015 в 15:19
поделиться

2 ответа

Верно, он все еще не поддерживается в VS 2010 Beta 1 . Я предполагаю, что встроенная сборка слишком сложна для реализации: в том виде, в котором она реализована Microsoft, она интегрируется с окружающим кодом C, так что данные могут поступать в код C и выходить из него, а соответствующий связующий код вводится автоматически. Для этого компилятору C действительно необходимо понимать код ассемблера; они просто не реализовали это для AMD64 и Itanium.

11
ответ дан 3 December 2019 в 08:05
поделиться

Кажется, довольно сложно просто отбросить ...

Достаточно легко вызвать функцию, написанную на ассемблере, если вы следуете соглашениям C. В этом руководстве объясняется, как это сделать.

4
ответ дан 3 December 2019 в 08:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: