問題タブ [lua]
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.
c - 大量のチャーン、小さな割り当てのための効率的なヒープマネージャー?
非常に特殊な状況を処理するためのヒープマネージャーのアイデアを探しています。それぞれ12〜64バイトの範囲の非常に小さな割り当てがたくさんあります。それよりも大きいものは、通常のヒープマネージャーに渡すので、小さなブロックだけに対応する必要があります。4バイトのアライメントのみが必要です。
私の主な関心事は
- オーバーヘッド。通常のlibcヒープは通常、割り当てを16バイトの倍数に切り上げてから、別の16バイトヘッダーを追加します。これは、20バイトの割り当てで50%を超えるオーバーヘッドを意味します。
- パフォーマンス
1つの有用な側面は、Lua(このヒープのユーザー)がfree()を呼び出すときに解放するブロックのサイズを通知することです。これにより、特定の最適化が可能になる場合があります。
現在のアプローチを投稿します。これは問題なく機能しますが、可能な限り改善したいと思います。何か案は?
python - Lua と Python の埋め込みが可能な場合、Basic の場所はありますか?
ZX81の Basic でプログラミングを開始し、次にBASICA、GW-BASIC、およびQBasicを使用しました。私はCに移りました(ああ、Turbo C 3.1、私はあなたをほとんど知りませんでした...)
マイクロコントローラを使い始めたとき、私はParallaxのBASIC Stampで後退しました。しかし、BASIC はとてもわかりやすく、間違えにくいので、すごかったです。追加のパワー (速度、容量、リソースなど) が必要だったので、最終的にはアセンブリと C に移りましたが、ハードルがはるかに高い場合、多くの人がマイクロコントローラーのプログラミングに取り組まないことを私は知っています。
独自のオンチップ BASIC インタープリターを作りたくてうずうずしていますが、Lua と Python が簡単に組み込み可能であり、BASIC と同じくらい親しみやすいので、BASIC の必要性があるのではないかと思います。
- BASIC が他の言語より優れている点があるとすれば、それは何ですか?
- なぜそれはまだあるのですか?
- インタプリタ付きの汎用マイコンボードを作ることにした場合、BASIC版を作る理由はありますか?
他の多くの言語は死んだものと見なされていますが、BASIC は存続し続けています。
python - 汎用スクリプト言語としての Lua?
Luaを見ると、「組み込みに最適」、「高速」、「軽量」、そして何よりも「World of Warcraft」または略して「WoW」という言葉しか読んでいません。
すべてを別のアプリケーションに埋め込むことに限定されているのはなぜですか? Python や Perl のように汎用スクリプトを作成してみませんか?
Lua は速度やメモリ使用量 (最速のスクリプト言語) などの面で優れているようですが、Lua がタスクを自動化するための「デスクトップ スクリプト言語」として使用されているのを見たことがないのはなぜですか? 例えば:
- 一連のファイルの名前を変更する
- Web からいくつかのファイルをダウンロードする
- ウェブスクレイピング
標準ライブラリの欠如ですか?
.net - luac の機能を実装する .NET DLL はありますか?
lua 5.1 コンパイラをカプセル化する DLL (できれば .net) を知っている人はいますか? 一部で lua スクリプトをコンパイルする必要がある .net プロジェクトに取り組んでいます。スクリプトを一時ファイルに送信して luac.exe を実行する代わりに、スクリプト コードを送信できる DLL が必要です。
編集:標準のluaバイトコードを出力するような方法でluacを実装する.NETライブラリが必要です(CLRにコンパイルするluaライブラリではありません)。lua c ソース コードのコンパイルが機能しませんでした。ac# プロジェクトに dll への参照を含めようとしたときに、Visual Studio が有効なアセンブリではないと不平を言いました。これまでの検索では何も見つかりませんでした。
iphone - Unix/iPhone/Mac OS X バージョンの PE ヘッダーの解析
これは少し複雑ですが、試してみましょう。
LUA スクリプトを自分のゲーム エンジンに統合しています。これは過去に win32 でエレガントな方法で実行しました。win32 では、エクスポート関数として LUA に公開したいすべての関数をマークするだけでした。次に、それらを LUA に統合するために、実行可能ファイルの PE ヘッダーを解析し、名前を解読し、パラメーターなどを解析してから、LUA ランタイムに登録します。これにより、LUA に公開するためだけにすべての関数を個別に手動で登録することを避けることができました。
さて、私が iPhone で作業している今日に目を向けてみましょう。私はいくつかの Unix のものを調べて、同様のアプローチを取ることに非常に近づいてきましたが、実際に機能するかどうかはわかりません。
私は Unix に完全に精通しているわけではありませんが、これまで iPhone で使用していたものを以下に示します。
-
ステップ 1: Objective-C を介して実行可能パスを照会し、アプリのパスを取得する
ステップ 2: dlopen を使用して、次を使用してアプリへのハンドルを取得します: `dlopen(path, RTLD_NOW)`
ステップ 3: `dlsym( libraryHandle, objectName )` を使用して、既知のシンボルのアドレスを取得しようとします。
上記の手順では、実際に目的の場所に到達することはできませんが、それでもうまくいきません。Unixでこの種のことをした経験のある人はいますか? 正しい軌道に乗せるためにグーグルで検索できるヘッダーや関数はありますか?
ありがとう;)
scripting - Lua には汎用スクリプト言語としての将来性はありますか?
「汎用スクリプト言語としての Lua は? 」で既に説明したように、Lua は現在、おそらくデスクトップ環境に最適なスクリプト言語ではありません。
しかし、あなたは将来についてどう思いますか?Lua の人気が高まり、Python や Ruby などのように使用できるライブラリがすぐに十分になるのでしょうか?
それとも単にすごいニッチにとどまるのですか?
lua - テーブル名を変数に割り当てるにはどうすればよいですか?
luaにいくつかのデータを含むテーブルがあります。
次に、テーブルをループして、変数として各名前に番号を割り当てます。luaは初めてで、このように試しました。
次に、print( "name1"、bob)でname1=1になると想定していました。現在nilになっています。だから私は、ある種の魂が私がどのように馬鹿であるかを教えてくれるまで、私の醜い静的変数のリストに戻ります。
winapi - Luaでエイリアンを含む文字列を返すWin32関数を呼び出す
エイリアンを使用して Win32 関数を呼び出そうとしています。このコードを試しましたが、クラッシュしてしまい、その理由がわかりません。
c++ - C++ と Lua の間で大きな構造体をやり取りする方法
開発中の C++ アプリケーションに Lua を埋め込むことを考えています。私の意図は、Luaを使用して、特定の入力に対して実行する命令操作をスクリプト化することです。c++ プログラムで新しい作業項目を受け取り、詳細を Lua バックエンドに渡し、必要な作業を実行するために Lua が c++ にコールバックし、完成した結果を返します。
関連する主要なデータ構造は大規模です (約 80 以上のメンバー) struct
。私は Lua に (非常に) 慣れていないので、ホスト アプリケーションと埋め込まれた Lua 状態との間でどのように受け渡しできるかわかりません。
これまでのところ、私のオプションは次のように見えます。
a) C++ と Lua との間を行き来するときに、すべての個々のデータ メンバーをスタックにプッシュ/ポップします (面倒に聞こえます)。
b) テーブルを作成して値を入力し、それをスタックにオン/オフします (少しクリーン)。
c)(軽い/重い?)として渡しuserdata
ます(これについては大ざっぱで、必要な操作を照会するためにLua側からアクセスできるかどうか/どのようにアクセスできるかわかりません)。
ガイダンスをいただければ幸いです。
math - Luaの標準(または最もサポートされている)大きな数(任意精度)ライブラリは何ですか?
四捨五入できない多数の数値を処理しています。Luaの標準的な数学ライブラリを使用すると、内部の制限を超えて精度を維持する便利な方法はないようです。また、大きな数で動作するようにロードできるライブラリがいくつかあることもわかります。
- http://oss.digirati.com.br/luabignum/
- http://www.tc.umn.edu/~ringx004/mapm-main.html
- http://lua-users.org/lists/lua-l/2002-02/msg00312.html(#2と同じである可能性があります)
- http://www.gammon.com.au/scripts/doc.php?general=lua_bc(ただし、ソースが見つかりません)
さらに、バインディングが確立されている場合、Luaから呼び出すことができるCのライブラリが多数あります。
これらのライブラリの1つ以上を使用した経験はありますか?