codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
;file usejna.clj ;Class/forNameの理由 ;コンパイル後までfoo.Bazは有効ではないため、 ;リーダーが読み込む時点ではfoo.Bazというクラスリテラルは無効である ;REPLでもコンパイルしてから実行すること ;(compile 'foo.usejna) ;(foo -3) (ns foo.usejna (:gen-class)) (import '(com.sun.jna Native Library)) (defn foo [x] (gen-interface :name foo.Baz :extends [com.sun.jna.Library] :methods [[abs [int] int]]) (let [msvcrt (Native/loadLibrary "msvcrt" (Class/forName "foo.Baz"))] (println (format "%d<abs(%d)" (.abs msvcrt x) x)))) (defn -main [& args] (doseq [] (foo -3)))
Private
[
?
]
Run code
Submit