10.2 ISO_C_BINDING
- Стандарт:
Fortran 2003 и более поздние версии, расширения GNU
В модуле предоставляются следующие встроенные процедуры; их определение можно найти в разделе Встроенные процедуры данного руководства.
C_ASSOCIATEDC_F_POINTERC_F_PROCPOINTERC_FUNLOCC_LOCC_SIZEOF
Модуль ISO_C_BINDING предоставляет следующие именованные константы типа стандартного целого числа, которые могут использоваться в качестве параметров типа KIND.
В дополнение к именованным константам, требуемым стандартом Fortran 2003 и C_PTRDIFF_T стандарта TS 29113, GNU Fortran в качестве расширения предоставляет именованные константы для 128-битных целочисленных типов, поддерживаемых компилятором C: C_INT128_T, C_INT_LEAST128_T, C_INT_FAST128_T. Кроме того, если __float128 поддерживается в C, определены именованные константы C_FLOAT128, C_FLOAT128_COMPLEX.
| Тип Fortran | Именованная константа | Тип C | Расширение |
INTEGER |
C_INT |
int |
|
INTEGER |
C_SHORT |
short int |
|
INTEGER |
C_LONG |
long int |
|
INTEGER |
C_LONG_LONG |
long long int |
|
INTEGER |
C_SIGNED_CHAR |
signed char/unsigned char
|
|
INTEGER |
C_SIZE_T |
size_t |
|
INTEGER |
C_INT8_T |
int8_t |
|
INTEGER |
C_INT16_T |
int16_t |
|
INTEGER |
C_INT32_T |
int32_t |
|
INTEGER |
C_INT64_T |
int64_t |
|
INTEGER |
C_INT128_T |
int128_t |
Расш. |
INTEGER |
C_INT_LEAST8_T |
int_least8_t |
|
INTEGER |
C_INT_LEAST16_T |
int_least16_t |
|
INTEGER |
C_INT_LEAST32_T |
int_least32_t |
|
INTEGER |
C_INT_LEAST64_T |
int_least64_t |
|
INTEGER |
C_INT_LEAST128_T |
int_least128_t |
Расш. |
INTEGER |
C_INT_FAST8_T |
int_fast8_t |
|
INTEGER |
C_INT_FAST16_T |
int_fast16_t |
|
INTEGER |
C_INT_FAST32_T |
int_fast32_t |
|
INTEGER |
C_INT_FAST64_T |
int_fast64_t |
|
INTEGER |
C_INT_FAST128_T |
int_fast128_t |
Расш. |
INTEGER |
C_INTMAX_T |
intmax_t |
|
INTEGER |
C_INTPTR_T |
intptr_t |
|
INTEGER |
C_PTRDIFF_T |
ptrdiff_t |
TS 29113 |
REAL |
C_FLOAT |
float |
|
REAL |
C_DOUBLE |
double |
|
REAL |
C_LONG_DOUBLE |
long double |
|
REAL |
C_FLOAT128 |
__float128 |
Расш. |
COMPLEX |
C_FLOAT_COMPLEX |
float _Complex |
|
COMPLEX |
C_DOUBLE_COMPLEX |
double _Complex |
|
COMPLEX |
C_LONG_DOUBLE_COMPLEX |
long double _Complex |
|
REAL |
C_FLOAT128_COMPLEX |
__float128 _Complex |
Расш. |
LOGICAL |
C_BOOL |
_Bool |
|
CHARACTER |
C_CHAR |
char |
Кроме того, определены следующие параметры типа CHARACTER(KIND=C_CHAR).
| Имя | Определение C | Значение |
C_NULL_CHAR |
нулевой символ | '\0' |
C_ALERT |
сигнал | '\a' |
C_BACKSPACE |
ввод табуляции | '\b' |
C_FORM_FEED |
формат страницы | '\f' |
C_NEW_LINE |
новая строка | '\n' |
C_CARRIAGE_RETURN |
возврат каретки | '\r' |
C_HORIZONTAL_TAB |
горизонтальная табуляция | '\t' |
C_VERTICAL_TAB |
вертикальная табуляция | '\v' |
Кроме того, определены следующие две именованные константы:
| Имя | Тип |
C_NULL_PTR |
C_PTR |
C_NULL_FUNPTR |
C_FUNPTR |
Обе эквивалентны значению NULL в C.
Далее: Модули IEEE, Предыдущее: ISO_FORTRAN_ENV, Вверх: Встроенные модули [Содержание][Индекс]
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-10.2.0/gfortran/ISO_005fC_005fBINDING.html