Понимать основы использования BIND (C) в фортране - PullRequest
0 голосов
/ 11 февраля 2019

У меня есть очень маленький пример кода на Фортране, который я хотел бы понять, пожалуйста.

  subroutine test_iso_c

  use ISO_C_BINDING

  implicit real(c_double) (a-h,o-z)    

  real :: var, expression

  interface
    real(c_double) function test (y) bind( c )
     use ISO_C_BINDING
       real(c_double), value :: y
     end
  end interface


  ! call 
  var = test(expression) ! - expression  is a real declared variable which is calculated using simple  arithmetic operation.   

  end 

Можете ли вы объяснить мне следующее (я предполагаю, что c_double означает двойную точность в области действия кода C?)

1 - Что означает implicit real(c_double) (a-h,o-z)?

2 - что делает value и bind(c) в интерфейсе функций

3 - Я видел этот код какВы можете сказать, что обеспечивает / делает эта функция теста, часть более обширной процедуры?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...