diff --git a/docs/GettingStartedVS.html b/docs/GettingStartedVS.html index 05803780a84..2e21b33b72a 100644 --- a/docs/GettingStartedVS.html +++ b/docs/GettingStartedVS.html @@ -86,7 +86,7 @@
+
This is the top level directory of the LLVM source tree.
+
This is the top level directory of the LLVM object tree (i.e. the + tree where object files and compiled programs will be placed. It is + fixed at SRC_ROOT/win32).
The object files are placed under OBJ_ROOT/Debug for debug builds and OBJ_ROOT/Release for release (optimized) builds. These include - both executables and libararies that your application can link against. + both executables and libararies that your application can link against.
The files that configure would create when building on Unix are created by the Configure project and placed in OBJ_ROOT/llvm. You application must have OBJ_ROOT in its include - search path just before SRC_ROOT/include. + search path just before SRC_ROOT/include.
@@ -245,57 +241,83 @@ All these paths are absolute:- #include <stdio.h> - int main() { - printf("hello world\n"); - return 0; - } -
First, create a simple C file, name it 'hello.c':
+ ++#include <stdio.h> +int main() { + printf("hello world\n"); + return 0; +} +
Next, compile the C file into a LLVM bitcode file:
-% llvm-gcc -c hello.c -emit-llvm -o hello.bc
-This will create the result file hello.bc which is the LLVM - bitcode that corresponds the the compiled program and the library - facilities that it required. You can execute this file directly using - lli tool, compile it to native assembly with the llc, - optimize or analyze it further with the opt tool, etc.
++% llvm-gcc -c hello.c -emit-llvm -o hello.bc ++
This will create the result file hello.bc which is the LLVM + bitcode that corresponds the the compiled program and the library + facilities that it required. You can execute this file directly using + lli tool, compile it to native assembly with the llc, + optimize or analyze it further with the opt tool, etc.
Note: while you cannot do this step on Windows, you can do it on a - Unix system and transfer hello.bc to Windows. Important: - transfer as a binary file!
Run the program using the just-in-time compiler:
-% lli hello.bc
+% lli hello.bc ++
Note: this will only work for trivial C programs. Non-trivial programs - (and any C++ program) will have dependencies on the GCC runtime that - won't be satisfied by the Microsoft runtime libraries.
+ (and any C++ program) will have dependencies on the GCC runtime that + won't be satisfied by the Microsoft runtime libraries.Use the llvm-dis utility to take a look at the LLVM assembly code:
-% llvm-dis < hello.bc | more
+% llvm-dis < hello.bc | more ++
Compile the program to C using the LLC code generator:
-% llc -march=c hello.bc
+% llc -march=c hello.bc ++
Compile to binary using Microsoft C:
-% cl hello.cbe.c
+% cl hello.cbe.c ++
Note: this will only work for trivial C programs. Non-trivial programs (and any C++ program) will have dependencies on the GCC runtime that - won't be satisfied by the Microsoft runtime libraries.
+ won't be satisfied by the Microsoft runtime libraries.Execute the native code program:
-% hello.cbe.exe
+% hello.cbe.exe ++