2013-10-20 20 views
8

Come un programmatore esperto mi sento abbastanza stupido chiedere una simile domanda: C'è un tutorial passo-passo che spiega come scrivere un "Ciao Mondo" -Programma in LLVM-Assembly Language risultante in un semplice "hello.exe" che può essere eseguito su un PC Windows standard?Ciao Mondo in LLVM-Assembly Language su Windows

Ho seguito dozzine di questo tutorial spiegando come eseguire il checkout, creare, compilare llvm, ecc. Ma o richiedono un altro software (che si traduce in un altro tutorial-Marathon), oppure sono finiti con "Percorso/File/Dll not found "-Error (che risulta in un'altra esercitazione-Marathon). Ho raggiunto per far eseguire llvm.exe ... una volta. Ora Windows segnala l'arresto anomalo dell'applicazione ?!

Ora mi sento completamente perso in un labirinto di tutorial obsoleti, errori, incompatibilità, emulatori/VM, IDE, Crosslink, 32 vs 64 bit, con/fuori WinGW, con/out Cygwin, con/out Visual Studio , con/out clang, sperimentale, non supportato, mancante Variabili ambientali ecc.

Mi aspettavo di trovare un programma di installazione o un archivio contenente un gruppo di file dll ed exe precompilati che possono essere utilizzati tramite riga di comando dal scatola. Voglio solo USARE un llvm-toolset nullo - nessun clang, nessun Visual Studio (se possibile) - proprio come javac.exe, masm.exe, fasm.exe, link.exe, ...

Se ho LLVM per compilare da solo, la possibilità di raggiungere questo obiettivo tramite Eclipse CDT sarebbe grande - ero in grado di importare il progetto senza alcun FileNotFound-errori; che è stato collegato ad alcune incompatibilità specifiche fare per quanto riguarda la struttura delle directory ... cmake dovrebbe aver risolto il problema, ma l'unico tutorial che ho trovato finora era circa cmake-gui - che non è riuscito a installare per altri motivi ...

qualcuno può per favore mi punto ad un tutorial up-to-date su come ottenere un lavoro LLVM-as.exe o scrivere uno step-by-step-istruzioni come lui/lei ha ottenuto il di cui sopra?

Grazie in anticipo - ho perso tre giorni in questo finora:/

+0

Una ricerca sul Web ha rivelato questo [Hello world module nel riferimento LLVM] (http://llvm.org/docs/LangRef.html#introduction) ... –

+0

Come accennato nella mia descrizione, la vera sfida è lasciare questo codice viene compilato sotto Windows. "Hello World" è solo un segnaposto per un programma per verificare che la toolchain funzioni come previsto. –

+0

A partire dal 2016 questi problemi persistono. http://llvm.org/builds/ ha compilato Windows precompilato, ma contiene solo 'clang' e' lld'. C'è una pagina GitHub con un sacchetto di binari compilati, ma la sua 'llc' non è riuscito a compilare tutti Hello-Worlds ho buttato a questo. – BoppreH

risposta

4

LLVM ha avuto storicamente il supporto di secondo piano su Windows, ma a poco tempo fa le cose sono cambiate in modo da avere un buon tempismo. Dai un'occhiata a this LLVM blog post da solo un mese fa. Punta a this page with binary builds della toolchain LLVM per Windows. Una volta che hai gli strumenti, il flusso verso un "mondo ciao" è simile ad altre piattaforme. Sarebbe una buona idea to start with the LLVM tutorial.

FWIW c'è anche un getting started on Windows guide, anche se non sono sicuro di quanto sia aggiornato è il post del blog menzionato sopra. Tuttavia, crea un file LLVM IR "ciao mondo" nel processo.

+2

Grazie. Mi sono imbattuto nel blog, ma non ho notato il link diretto. Cercando di installare i risultati in "Impossibile trovare la directory degli strumenti di MSBuild." - Errore durante "Installazione dell'integrazione di MSVC". –

+0

"Getting started on Windows guide" richiede ancora CMake e Visual Studio solo per creare LLVM. La descrizione CMake collegata è per i sistemi linux: mi aspetto alcuni problemi e una ricerca più approfondita per applicare questa guida a Windows. Forse posso estrarre alcuni binari dal programma di installazione menzionato sopra ... Grazie mille per il link Kaleidoscope copre esattamente quello che sto cercando di fare con LLVM quando è attivo e funzionante. –

+0

@KaiGiebeler: se hai problemi con l'installer binario, ti suggerisco di mandare una mail alla mailing list llvmdev @. Forse le cose sono cambiate o c'è un problema noto. Queste cose sono nuove e dinamiche. –

0

inizialmente ho raccomandato i binari da http://www.drangon.org/mingw/, ma non sembrano funzionare affatto. La mia raccomandazione è di dimenticare MinGW per ora e creare utilizzando Microsoft Visual Studio 2010+. Almeno gli strumenti come "llc" funzionano. Non so se puoi collegarti all'API di Windows, ma penso di si.