問題タブ [luajit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1077 参照

postgresql - PostgreSQL と pllua

pllua モジュールをビルドしようとしていますが、問題が発生しています。

問題は間違った PostgreSQL バージョンにあると思いますが、よくわかりません。誰かが私を助けてくれたらありがたいです。

Postgres の場所: /opt/PostgreSQL/9.3/bin (サポートなしのエンタープライスド バージョンです)

Lua の場所: /opt/myLua (luaDist でビルド)

pllua makefile を変更しました。

しかし、コンパイルするとエラーと警告が発生します:

どうもありがとう

### - アップデート - -

問題を (部分的にのみ) 修正しました。enterprisedb から postgreSQL 9.2 をダウンロードしたところ、コンパイルは正常に行われ、pllua.so が /opt/PostgreSQL/9.2/lib/postgresql にインストールされました。

実行すると: root@lua:/opt/PostgreSQL/9.2/bin# ./psql -U postgres -p 5435 -c "CREATE EXTENSION pllua" postgres

エラーが発生します:

エラー: ライブラリ "/opt/PostgreSQL/9.2/lib/postgresql/pllua.so" を読み込めませんでした: /opt/PostgreSQL/9.2/lib/postgresql/pllua.so: 未定義のシンボル: luaopen_math

luaopen_math の問題は何ですか? コンパイルの前に luaJit ライブラリをロードする必要があるのでしょうか?

0 投票する
2 に答える
792 参照

c++ - LuaJIT から C++ DLL を呼び出す

FFI を使用して C++ DLL をロードできないことはわかっています (C のみが機能します)。ラッパーを使用する必要がある場合、具体的にどのように開始すればよいですか?

編集: DLL を変更することはできません。

0 投票する
1 に答える
1121 参照

c++ - LuaJIT FFI に渡すコールバック構造体を作成する

まず、必要な DLL をロードします。

ffi cdefには、2種類の構造体があります

私はcdefにもこの機能を持っています

今、私はこの関数を呼び出したいと思います

vars a と b は明らかにプレースホルダーです。問題は、関数が必要とする構造体をどのように渡すことができるかということです。そして、StructSession が機能するようになったとします。LuaJIT 内の関数へのコールバックを StructCallbacks で行うことさえ可能でしょうか?

0 投票する
1 に答える
339 参照

lua - luajitでstrtokを使用するには?

私のコードは次のとおりです。

nginx を実行すると、何か問題が発生しました。while ループから戻った後、nginx ワーカー プロセスがシグナル 11 でクラッシュしました。最後の ngx.log は実行できません。どうすれば対処できますか?

0 投票する
3 に答える
2975 参照

pointers - LuaJIT FFI を使用して既存のデータへのポインタを作成するにはどうすればよいですか?

LuaJIT FFI を使用してポインターを作成する例があることは知っていますが、これらのほとんどは既存のデータを指していません。そのような例の 1 つがここにあります: LuaJIT ffi にポインターを渡し、out 引数として使用する方法は?

私がうまくできていないことの 1 つは、既存の値へのポインターを作成することです。私の知る限り、ポインター型を持つためには、次のように、将来のある時点でそれを指すポインターが必要であることを知っておく必要があります。

ここで、glGenVertexArrays には へのポインターが必要であることがわかっているvaoので、GLuint[1] として指定します。Cでは、次のようなことをしています:

ここでは、 へのポインタが必要になるとは考えていないvaoので、普通に指定できます。

つまり、既存の値のアドレスを取得したり、ポインタを作成したりする方法はありますか? 値を作成する前に、その値で何をするかを予測する必要がありますか?

ありがとう!

0 投票する
2 に答える
3036 参照

lua - 通常のLuaインタープリターとLuaJITインタープリター?

それで、LuaJIT インタープリターの代わりに通常の Lua インタープリターを使用する利点があるかどうか疑問に思っていました。

0 投票する
2 に答える
2531 参照

lua - Ubuntu で lua5.1 と luajit の両方を使用するための luarocks のインストール

luarocks-jit install Xのようなものを実行して、新しくインストールされたロックがインタープリターとして luajit を使用できるようにしたいと考えています。最終的に、失敗したテストを luajitで実行しようとしています。

これが私が試したことです:

luarocks の現在のバージョンには、configure スクリプトに「--lua-version」フラグがありますが、「5.1」または「5.2」しか受け入れないため、ダイスはありません。そのスクリプトを編集して「jit」も受け入れることを考えましたが、まだ実行していません。

このwiki ページをたどろうとしましたが、別の OS 向けに書かれており、いくつかの理由で古くなっているのではないかと疑っています。

  • それが参照する多くの変数(LUA_BINDIRなど)のドキュメントが見つかりません
  • 私のマシンの /usr/local/bin/luarocks5.1 にあるスクリプトは、ページのスクリプトとはまったく異なって見えます。
  • ページに表示されている config-X.lua ファイルも、私がインストールしたものとはかなり異なって見えます。

実際には、残念ながら古いバージョンの Ubuntu (7.10) でこれを行う必要があるため、おそらく私のシステムが古くなっている可能性が高くなります。いずれにせよ、luarocks-jit を動作させることができませんでした。

ご協力いただきありがとうございます。