Mercurial > hg > CbC > CbC_gcc
comparison gcc/jit/docs/cp/topics/compilation.rst @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children | 84e7813d76e9 |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 .. Copyright (C) 2014-2017 Free Software Foundation, Inc. | |
2 Originally contributed by David Malcolm <dmalcolm@redhat.com> | |
3 | |
4 This is free software: you can redistribute it and/or modify it | |
5 under the terms of the GNU General Public License as published by | |
6 the Free Software Foundation, either version 3 of the License, or | |
7 (at your option) any later version. | |
8 | |
9 This program is distributed in the hope that it will be useful, but | |
10 WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
12 General Public License for more details. | |
13 | |
14 You should have received a copy of the GNU General Public License | |
15 along with this program. If not, see | |
16 <http://www.gnu.org/licenses/>. | |
17 | |
18 .. default-domain:: cpp | |
19 | |
20 Compiling a context | |
21 =================== | |
22 | |
23 Once populated, a :class:`gccjit::context` can be compiled to | |
24 machine code, either in-memory via :func:`gccjit::context::compile` or | |
25 to disk via :func:`gccjit::context::compile_to_file`. | |
26 | |
27 You can compile a context multiple times (using either form of | |
28 compilation), although any errors that occur on the context will | |
29 prevent any future compilation of that context. | |
30 | |
31 In-memory compilation | |
32 ********************* | |
33 | |
34 .. function:: gcc_jit_result *\ | |
35 gccjit::context::compile () | |
36 | |
37 This calls into GCC and builds the code, returning a | |
38 `gcc_jit_result *`. | |
39 | |
40 This is a thin wrapper around the | |
41 :c:func:`gcc_jit_context_compile` API entrypoint. | |
42 | |
43 Ahead-of-time compilation | |
44 ************************* | |
45 | |
46 Although libgccjit is primarily aimed at just-in-time compilation, it | |
47 can also be used for implementing more traditional ahead-of-time | |
48 compilers, via the :func:`gccjit::context::compile_to_file` method. | |
49 | |
50 .. function:: void \ | |
51 gccjit::context::compile_to_file (enum gcc_jit_output_kind,\ | |
52 const char *output_path) | |
53 | |
54 Compile the :class:`gccjit::context` to a file of the given | |
55 kind. | |
56 | |
57 This is a thin wrapper around the | |
58 :c:func:`gcc_jit_context_compile_to_file` API entrypoint. |