c_funloc_tests_3.f03

来自「用于进行gcc测试」· F03 代码 · 共 37 行

F03
37
字号
! { dg-do run }! { dg-additional-sources c_funloc_tests_3_funcs.c }! This testcase tests c_funloc and c_funptr from iso_c_binding.  It uses ! functions defined in c_funloc_tests_3_funcs.c.module c_funloc_tests_3 implicit nonecontains  function ffunc(j) bind(c)    use iso_c_binding, only: c_funptr, c_int    integer(c_int)        :: ffunc    integer(c_int), value :: j    ffunc = -17*j  end function ffuncend module c_funloc_tests_3program main  use iso_c_binding, only: c_funptr, c_funloc  use c_funloc_tests_3, only: ffunc  implicit none  interface    function returnFunc() bind(c,name="returnFunc")       use iso_c_binding, only: c_funptr       type(c_funptr) :: returnFunc    end function returnFunc    subroutine callFunc(func,pass,compare) bind(c,name="callFunc")       use iso_c_binding, only: c_funptr, c_int       type(c_funptr), value :: func       integer(c_int), value :: pass,compare    end subroutine callFunc  end interface  type(c_funptr) :: p  p = returnFunc()  call callFunc(p, 13,3*13)  p = c_funloc(ffunc)  call callFunc(p, 21,-17*21)end program main! { dg-final { cleanup-modules "c_funloc_tests_3" } }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?