{"description":"gfortran \u304b\u3089\u7c21\u5358\u306a swift routine \u547c\u3073\u51fa\u3057 \u53c2\u8003\uff1agist.github.com Swift \u5074\u3092 dll \u306b\u3057\u3066\u547c\u3079\u3070\u826f\u3044\u69d8\u3067\u3059\u3001 \u30d7\u30ed\u30b0\u30e9\u30e0 swift @_cdecl(\"say\") public func say() { print(\"Hey!\") } fortran \u77ed\u3044\u306e\u3067\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u306f\u30e1\u30a4\u30f3\u30d7\u30ed\u30b0\u30e9\u30e0\u306b\u66f8\u3044\u3066\u3082\u3088\u304b\u3063\u305f\u3002 module test_m implicit none interface subroutine say() bind(c, name = 'say') end subroutine say end interface end modul\u2026","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Ffortran66.hatenablog.com%2Fentry%2F2021%2F04%2F20%2F023131\" title=\"\u3010\u30e1\u30e2\u5e33\u3011Fortran \u304b\u3089 swift \u3092\u547c\u3076 - fortran66\u306e\u30d6\u30ed\u30b0\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","type":"rich","version":"1.0","categories":[],"title":"\u3010\u30e1\u30e2\u5e33\u3011Fortran \u304b\u3089 swift \u3092\u547c\u3076","author_url":"https://blog.hatena.ne.jp/fortran66/","published":"2021-04-20 02:31:31","provider_name":"Hatena Blog","url":"https://fortran66.hatenablog.com/entry/2021/04/20/023131","blog_url":"https://fortran66.hatenablog.com/","width":"100%","image_url":null,"provider_url":"https://hatena.blog","blog_title":"fortran66\u306e\u30d6\u30ed\u30b0","author_name":"fortran66","height":"190"}