Каковы стандартные расширения файлов, сгенерированные цепочкой инструментов llvm? - PullRequest
0 голосов
/ 13 января 2019

У меня есть следующий код и команды.

==> main.c <==
/* vim: set noexpandtab tabstop=2: */
#include <stdio.h>

void print();
int main() {
    print();
    return 0;
}

==> print.c <==
/* vim: set noexpandtab tabstop=2: */
#include <stdio.h>

void print() {
    puts("Hello World!");
}
$ clang -c -emit-llvm -o main.bc main.c
$ clang -c -emit-llvm -o print.bc print.c
$ llvm-link -o main1.bc  main.bc print.bc
$ lli main1.bc 
Hello World!

Однако я не уверен, какими должны быть широко распространенные расширения файлов.

У меня есть main1.bc и main.bc, оба имеют расширение .bc. Однако main1.bc может работать с lli и был сгенерирован с помощью llvm-link. Так что, вероятно, лучше поменять его на main.bc и print.bc.

Может кто-нибудь сообщить мне общепринятый стандарт расширений файлов и рекомендуемый рабочий процесс командной строки? Спасибо.

1 Ответ

0 голосов
/ 13 января 2019

Инструмент llvm-link работает с битовым кодом LLVM и выводит тот же битовый код, поэтому между main.bc и print.bc.

нет никакой разницы.

Канонические расширения для текстового LLVM IR - .ll, скомпилированные - .bc.

...