LispからQtウィンドウをすばやく作成するためのおもちゃC++ライブラリを構築しました。私はcommon-qtが存在することを知っています。私はcffiの使い方を学んでいます。Lisp、cffi、letとメモリ
- アプリケーションを作成します:ポインタはQApplicationを作成し、返し
- -ウィンドウを作成します。poinerをQMainWindowを作成し、返し
- ショー:ショー今
、私は4つのバインドさ機能を持っています引数として
- のexecを指定したウィンドウ:ここでのQtのexec機能
はperfec仕事Lispコードでありますtly:
(defctype t-app :pointer)
(defctype t-window :pointer)
(defcfun (create-application "create_application") t-app)
(defcfun (exec "exec") :void (app t-app))
(defcfun (create-window-aalt "create_window_aalt") t-window)
(defcfun (show "show") :void (o t-window))
(defparameter a (create-application))
(defparameter w (create-window-aalt))
(show w)
(exec a)
私はLETまたはLETを使用しています* ...私は記憶障害があります!
(let* ((a (create-application)) (w (create-window-aalt)))
(show w)
(exec a))
CORRUPTION WARNING in SBCL pid 1312(tid 140737353860992):
Memory fault at a556508 (pc=0x7ffff659b7f1, sp=0x7ffff2bbe688)
The integrity of this image is possibly compromised.
Exiting.
なぜ誰かが知っていますか?
私はSBCLを使用しています:
env LD_LIBRARY_PATH=`pwd` \
env LD_PRELOAD=/usr/lib/libQtGui.so.4 \
sbcl --script aalt.lisp
感謝を。
あなたの答えをありがとう! 私はすでにあなたがここに私のコードを見ることができる、にextern「C」を使用します。http://pastebin.archlinux.fr/464826 まあ、私は聞かせてdefparameterなく使用している場合、それはLispの中で働いているので、私はそれがだと思いますC++の例外ではありません...とにかく試してみましょう。私はあなたに知らせます。 – Filippo
ありがとう、それは動作します!しかし、Clispだけで、私はまだSBCLと同じエラーがあります。どんな手掛かり ? – Filippo