8
8
Linguaggio di programmazione
9
9
============================
10
10
11
- Il kernel è scritto nel linguaggio di programmazione C [c-language ]_.
12
- Più precisamente, il kernel viene compilato con ``gcc `` [gcc ]_ usando
13
- l'opzione ``-std=gnu89 `` [gcc-c-dialect-options ]_: il dialetto GNU
11
+ Il kernel è scritto nel linguaggio di programmazione C [it- c-language ]_.
12
+ Più precisamente, il kernel viene compilato con ``gcc `` [it- gcc ]_ usando
13
+ l'opzione ``-std=gnu89 `` [it- gcc-c-dialect-options ]_: il dialetto GNU
14
14
dello standard ISO C90 (con l'aggiunta di alcune funzionalità da C99)
15
15
16
- Questo dialetto contiene diverse estensioni al linguaggio [gnu-extensions ]_,
16
+ Questo dialetto contiene diverse estensioni al linguaggio [it- gnu-extensions ]_,
17
17
e molte di queste vengono usate sistematicamente dal kernel.
18
18
19
19
Il kernel offre un certo livello di supporto per la compilazione con ``clang ``
20
- [clang ]_ e ``icc `` [icc ]_ su diverse architetture, tuttavia in questo momento
20
+ [it- clang ]_ e ``icc `` [it- icc ]_ su diverse architetture, tuttavia in questo momento
21
21
il supporto non è completo e richiede delle patch aggiuntive.
22
22
23
23
Attributi
24
24
---------
25
25
26
26
Una delle estensioni più comuni e usate nel kernel sono gli attributi
27
- [gcc-attribute-syntax ]_. Gli attributi permettono di aggiungere una semantica,
27
+ [it- gcc-attribute-syntax ]_. Gli attributi permettono di aggiungere una semantica,
28
28
definita dell'implementazione, alle entità del linguaggio (come le variabili,
29
29
le funzioni o i tipi) senza dover fare importanti modifiche sintattiche al
30
- linguaggio stesso (come l'aggiunta di nuove parole chiave) [n2049 ]_.
30
+ linguaggio stesso (come l'aggiunta di nuove parole chiave) [it- n2049 ]_.
31
31
32
32
In alcuni casi, gli attributi sono opzionali (ovvero un compilatore che non
33
33
dovesse supportarli dovrebbe produrre comunque codice corretto, anche se
@@ -41,11 +41,11 @@ possono usare e/o per accorciare il codice.
41
41
Per maggiori informazioni consultate il file d'intestazione
42
42
``include/linux/compiler_attributes.h ``.
43
43
44
- .. [c-language ] http://www.open-std.org/jtc1/sc22/wg14/www/standards
45
- .. [gcc ] https://gcc.gnu.org
46
- .. [clang ] https://clang.llvm.org
47
- .. [icc ] https://software.intel.com/en-us/c-compilers
48
- .. [gcc-c-dialect-options ] https://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.html
49
- .. [gnu-extensions ] https://gcc.gnu.org/onlinedocs/gcc/C-Extensions.html
50
- .. [gcc-attribute-syntax ] https://gcc.gnu.org/onlinedocs/gcc/Attribute-Syntax.html
51
- .. [n2049 ] http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2049.pdf
44
+ .. [it- c-language ] http://www.open-std.org/jtc1/sc22/wg14/www/standards
45
+ .. [it- gcc ] https://gcc.gnu.org
46
+ .. [it- clang ] https://clang.llvm.org
47
+ .. [it- icc ] https://software.intel.com/en-us/c-compilers
48
+ .. [it- gcc-c-dialect-options ] https://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.html
49
+ .. [it- gnu-extensions ] https://gcc.gnu.org/onlinedocs/gcc/C-Extensions.html
50
+ .. [it- gcc-attribute-syntax ] https://gcc.gnu.org/onlinedocs/gcc/Attribute-Syntax.html
51
+ .. [it- n2049 ] http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2049.pdf
0 commit comments