LLVM, что это и как может, я использую его для кросс-платформенных компиляций

Это не так просто сделать, но есть сценарий, который может вам помочь. Я обычно использую FileSaver.js , чтобы сделать это, это с открытым исходным кодом. FileSaver помогает решить проблемы несовместимости браузера, он также хорошо протестирован.

Вот фрагмент кода, который я поднял из моего текущего проекта. Это простой javascript и не требует jQuery или чего-либо еще.

В этом примере имя файла жестко закодировано как «my_excel_file.xlsx», но вы можете получить имя файла из API, если выставите правильный заголовок из API. Я думаю, что ответил, как справиться с этим где-то в SO.


  
  
  


  


6
задан user63898 12 May 2009 в 09:47
поделиться

3 ответа

Ключевой концепцией LLVM является низкоуровневое «промежуточное» представление (IR) вашей программы. Этот IR находится примерно на уровне кода ассемблера, но он содержит больше информации для облегчения оптимизации.

Сила LLVM заключается в его способности откладывать компиляцию этого промежуточного представления на конкретную целевую машину до тех пор, пока код не должен быть запустить. Подход JIT-компиляции может использоваться для того, чтобы приложение создавало код, который ему нужен, непосредственно перед тем, как он ему понадобится.

Во многих случаях во время выполнения программы у вас есть больше информации, чем у вас. обратно в головной офис, так что программа может быть значительно оптимизирована.

Для начала вы можете скомпилировать программу на C ++ в одно промежуточное представление, а затем скомпилировать ее для нескольких платформ из этого IR.

Вы также можете попробовать Демо-версия Kaleidoscope, которая проведет вас через создание нового языка без необходимости писать компилятор,

6
ответ дан 9 December 2019 в 22:39
поделиться

Почему бы вам не зайти на сайт LLVM и не ознакомиться со всей документацией. Они очень подробно объясняют, что такое LLVM и как его использовать. Например, у них есть страница Начало работы .

2
ответ дан 9 December 2019 в 22:39
поделиться

LLVM - это, как следует из названия, виртуальная машина низкого уровня с генератором кода. Если вы хотите скомпилировать его, вы можете использовать либо интерфейс gcc, либо clang , который является компилятором c / c ++ для LLVM, работа над которым все еще продолжается.

1
ответ дан 9 December 2019 в 22:39
поделиться
Другие вопросы по тегам:

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