3. build llvm and clang on your linux (Что-то вроде лекций)
Описание файла
Файл "3. build llvm and clang on your linux" внутри архива находится в папке "Что-то вроде лекций". PDF-файл из архива "Что-то вроде лекций", который расположен в категории "". Всё это находится в предмете "конструирование компиляторов" из 7 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст из PDF
С о к LLVM и ClangLLVM и Clang• LLVM (Low Level Virtual Machine) - отк т кл п л тот укту .•от к: LLVM Developer Group. Н пC++• Clang л ето те до длко п ооC++, Objective-C, пол удл опткодо е еео к LLVM.• о ледтле.C,С о к LLVM и Clang Linux• У т о т subversion (Ubuntu: sudo apt-get isntall subversion)• У т о т gcc, g++, gcc-multilib, g++-multilib (Ubuntu: sudo apt-getinstall gcc g++ gcc-multilib g++-multilib)• В е ете д ектокудот те полу тодкод LLVMпол те леду у коду:svn co http://llvm.org/svn/llvm-project/llvm/branches/release_35llvm• о ле е оод ектопо т п пкодкодо LLVM, пе е д те ее, пе е д те п пку tools полу теодкод Cla g:cd llvmcd toolssvn co http://llvm.org/svn/llvm-project/cfe/branches/release_35 clangС о к LLVM и Clang• Д лее ео од о о д т доот ет т е о .
еко е дуектоо ку т о кuild i stallо д т д ектоодкодо llv :cd /home/username/llvmmkdir build install• е е д те д ектоuildпу т те o figure о ледуоп../configure --prefix=/home/username/llvm/install \--enable-optimized --disable-assertions• тепу т те о ку кодо make -jN. Max N= Кол е т о де * +Н I tel® Core™ i -4790K CPU @ 4.00GHz о кет по дкут.о ле окоо к " кте" make install, до д те окоу т о кпое ед екто/home/username/llvm/install/bin/ удутполо епол е ел Clang LLVMТли овие .C code в .ll code (LLVM IR)• Дл пе е одод о о п ед т ле е LLVM ео од оо пол о тclang`о , дл .c code - la g дл .
++ - clang++.• Код дл тл о:/home/username/llvm/install/bin/clang -S -emit-llvm /path/to/c-code.cВ д ектопу к о д тл c-code.ll,ия я яи хяии LLVM (LLVM IR).П и е•одп оке C:#include <stdio.h>int main() {printf("Hello, World!\n");int a = 5;return 0;}• "о о" /home/username/llvm/bin/clang -S -emit-llvm hello.cП и еполу е hello.ll:; ModuleID = 'hello.c'target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"target triple = "x86_64-unknown-linux-gnu"@.str = private unnamed_addr constant [15 x i8] c"Hello, World!\0A\00", align 1; Function Attrs: nounwind uwtabledefine i32 @main() #0 {%1 = alloca i32, align 4%a = alloca i32, align 4store i32 0, i32* %1%2 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([15 x i8]* @.str, i32 0, i32 0))store i32 5, i32* %a, align 4ret i32 0}declare i32 @printf(i8*, ...) #1•.