[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 04/15 10:52 / Filesize : 210 KB / Number-of Response : 911
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

プログラミング言語 Lua  その3



1 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 13:13:52 ]
だれか サポ−ト 頼む。
前々スレ pc5.2ch.net/tech/kako/1034/10341/1034182349.html
前スレ pc8.2ch.net/test/read.cgi/tech/1063711237/
本家 www.lua.org/
lua-users lua-users.org/
LuaForge luaforge.net/
Lua 5.1 リファレンスマニュアル(日本語訳)
sugarpot.sakura.ne.jp/yuno/html/lua51_manual_ja.html

131 名前:デフォルトの名無しさん mailto:sage [2007/02/23(金) 03:51:29 ]
>>130
newしたものを普通のテーブルと同じように扱ってるところに問題がない?
userdataの可能性が高いし、そのままメンバー追加してどうなるかはluabindの実装によるかも。

tolua++では、new()で生成すると手動でdeleteが必要。
new_local()または クラス名() で生成すればガベコレに任せる。

local a=TestClass()
local b=TestClass()
local ax = { p = a }
local bx = { p = b }
a=nil;b=nil
ax=nil;bx=nil
collectgarbage(0)

これならちゃんと回収されてる。(Lua5.0の場合)


132 名前:118 mailto:sage [2007/02/24(土) 00:04:45 ]
>>130
てゆうか、それ循環してないし。
例え循環させても、テーブルは循環してても当然回収されるので
>>130みたくラッピングすればluabindでも当然回収される。

>>userdataの可能性が高いし、そのままメンバー追加してどうなるかはluabindの実装によるかも。
luabind的にはuserdataだけど一応メタテーブル設定して大丈夫になっています。

>>128にも書いたけど、おそらくuserdataからそれに関連づけされた
luaオブジェクトへの参照をGCが追跡できて無いのでリークしてると思う。
5.0ではuserdataに環境は設定できないけど5.1では出来るようになって
いる。5.1でそうした理由は多分”userdata->その環境table”のパス
をGCでおえるようにして循環参照を検出して回収可能にする為だと思います。
(ぐぐったらそれっぽい議論がされてる。)
おそらくluabindが5.1に対応しきれてないのではと予想して対策を検討中。

133 名前:118 mailto:sage [2007/02/24(土) 00:05:50 ]
まちがえた
>>130では無く>>131です(自分レスしてどうするw)

134 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 04:44:20 ]
>>132
あ・・・ほんとだぜんぜん循環してないorz

あとLua5.0でもフルユーザーデータにはメタテーブルもてたけどね。
lightuserdataの扱いが変わっただけかと。

問題はメタテーブルの__newindexとかで実際何をやってるかということだけど・・・

135 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 15:00:02 ]
hoshu

136 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 02:28:50 ]
Squirrel + SqPlus使ってる人とかっているんかな?

Squirrel側から呼ばせるC++側の関数で
戻り値としてあるクラスのインスタンスをPushするにはどうすればいいんだろう?



137 名前:デフォルトの名無しさん mailto:age [2007/03/29(木) 21:09:52 ]
保守

138 名前:デフォルトの名無しさん mailto:sage [2007/04/06(金) 23:54:07 ]
Lua 5.1.2 released.
ttp://www.lua.org/news.html

139 名前:デフォルトの名無しさん [2007/04/09(月) 14:51:00 ]
Squirrelのプログラムサイズがでかい…
squirrel.libだけで741KBってどうなんですか?
スクリプトエンジンとか組み込むの初めてなので標準的な尺度がいまいちわかりません。
コンパイルかけたファイルしか使わないと考えればいろいろと削れる部分はあるんでしょうけど、
そういう使い方するのが普通なんですかね?
Luaってどのくらいのサイズなんでしょうか?



140 名前:デフォルトの名無しさん mailto:sage [2007/04/09(月) 20:17:31 ]
>>139
自分でexe作成して確認してみな。
そっちのが手っ取り早いぞ。

141 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 09:23:05 ]
>>139
それでかすぎな気がする
デバッグ情報はってない?
あとstdlibとかなしでそのサイズ?

142 名前:139 [2007/04/10(火) 18:40:41 ]
squirrel.libのサイズが741KBです。
プログラムサイズが小さくなるような最適化設定にしてビルドしたら664KBでした。
両方ともreleaseです。

>>139
一応、プロパティの『デバッグ情報の形式』というところは無効になっています。


143 名前:139 mailto:sage [2007/04/10(火) 18:42:17 ]
訂正
>>139じゃなくて>>141でした。

144 名前:デフォルトの名無しさん [2007/04/10(火) 19:05:16 ]
報告乙

145 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 19:28:56 ]
にしてもでかすぎる気がする。
Linux/gcc-4.1.2だとストリップ前が403926バイト、後が295940バイト
Linux/gcc-3.3.6だとストリップ前が390954バイト、後が281116バイト

…Luaと比べると非常に大きいな。


146 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 21:07:09 ]
いや、Luaがすんごい小さいってのもあると思う。

147 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 21:53:40 ]
CとC++の差が大きいよ。サイズはでかくなるしコンパイル遅いしライブラリ
配布ではバイナリ互換性が怪しくなってない?
GCCのバージョンを揃えないとリンクに失敗するとか(←これ本当?)

PerlもRubyもPythonもPHPもLuaもオールCで書かれているのはその辺の事情
と思う。
FirefoxやOpenOfficeはC++で別に問題ないが、オプソのスクリプトエンジンの
ジャンルはC++は駄目でCが適切らしい.

148 名前:139 mailto:sage [2007/04/10(火) 22:12:21 ]
いや、
ttp://www.wanderer.jp/diary/200702.html
ここのサイトの人がコンパイルかけたら270KBくらいだった言ってたり…
VS2005でビルドしてたんですが、gccでメイクしたら450KBでした。
うーん、まだ何かあるのかな?

149 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 22:25:40 ]
>>147
オープンでも C++ の実装も結構あるよ。
JDK, AVM2, Poly/ML, StrongTalk とか。

俺も C で書いた方が良いと思うけどね。



150 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 22:44:39 ]
>>149
JDKがC++と判明して、オプソ界では扱いづらいな...と思われてたりして。

151 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 22:48:23 ]
>>150
昔からソースは公開されていたし、nm すればソース見ないでも C++ だって
分かる人には分かっていたから大丈夫だよ。

152 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 22:52:18 ]
>>151
あー、そうなんだ。

153 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 06:46:14 ]
Squirrelって糞だね

154 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 07:38:08 ]
>>148
VS2005で、SquirrelをDLL化して
Releaseビルド220Kだよ


155 名前:139 mailto:sage [2007/04/11(水) 13:13:13 ]
>>154
それって『構成の種類』をdllに設定してビルドするってことですか?
たしかにsquirrel.dllが170KBくらいで軽くなっているんですが、
sqstdlib.dllがエラーで作成できない…。このリンクエラーどうしました?

156 名前:139 mailto:sage [2007/04/11(水) 15:34:58 ]
>>154
libのサイズってコンパイルさせるために必要なデータが入ってるから
dllより重くなるみたいですね。知りませんでした。
実行ファイルのサイズに影響する分のサイズは二つのlibでだいたい270KBくらいなんだと思います。
ありがとうございました。

157 名前:デフォルトの名無しさん [2007/04/11(水) 16:46:14 ]
>>147
Rubyは作者が、オブジェクト指向の言語をオブジェクト指向の言語で書きにくいと言ってる。

>>153
どの辺が?
サイズ大きいのは別に害じゃないと思うけど

158 名前:デフォルトの名無しさん mailto:age [2007/04/22(日) 00:44:07 ]
Xtal 復活記念あげ

159 名前:デフォルトの名無しさん [2007/04/28(土) 20:45:47 ]
何かネタないの?



160 名前:デフォルトの名無しさん [2007/05/08(火) 17:11:31 ]
保守

161 名前:デフォルトの名無しさん [2007/05/09(水) 20:26:56 ]
Squirrel - Lua/組み込み系言語 Wiki*
wikiwiki.jp/lua/?Squirrel

Squirrelの参考リンク参考になりました。
サンクス。

162 名前:デフォルトの名無しさん [2007/05/13(日) 11:16:32 ]
初歩的なことかもしれないけど
Squirrelで
sq_open使うと

ハンドルされていない例外 : System.TypeLoadException: アセンブリ 'squirreltest, V
ersion=0.0.0.0, Culture=neutral, PublicKeyToken=null' から型 'SQVM' を読み込めま
せん。
at main()
みたいなメッセージでる。調べたけどわからん
助けて

163 名前:デフォルトの名無しさん [2007/05/13(日) 11:33:09 ]
すまん自己解決した
なんでこうなるのかよくわからんけど

164 名前:デフォルトの名無しさん [2007/05/13(日) 11:41:18 ]
>>163
自己解決したら、解決法をかけとあれほど・・・

165 名前:デフォルトの名無しさん [2007/05/13(日) 11:52:47 ]
ttp://support.microsoft.com/kb/871182/jaにのってる

1. MyProject.cpp ファイルに次のコードを含みます。typedef struct _t_Struct *myStruct;

2. 手順 1 で探したコードをの後、次のコードを追加します。 struct _t_Struct
{
};

を書いて
t_Structの部分をSQVMにしたら動いた
プログラム初心者なんで意味がよくわからないし本当に治ってるのかわからないけど

166 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 15:52:01 ]
squirrel使う人増えれば嬉しいな
今ゲームに組み込んでるのでそこで得た知識をいずれ記事にしてまとめるかも
コードのどこを削るかとか、Windows以外で使うときにメモリ確保部分をどう書き換えるかとか

167 名前:デフォルトの名無しさん [2007/05/16(水) 17:29:10 ]
>>166
マジで期待したいです。

168 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 23:03:00 ]
新言語 Xtalを作る日記
ttp://d.hatena.ne.jp/xtalco/

169 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 00:35:54 ]
リンク張り逃げだけじゃなく、なにかしらの解説してくれや。



170 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 20:11:56 ]
>>169
ざっと目を通しただけなので細かいところはわからないけど、
C++への組み込みに使用するとき、スタックを意識せずによいみたい。

残念なのは、ソースがVC依存ぽいところ。


171 名前:デフォルトの名無しさん [2007/05/23(水) 03:05:54 ]
>>170
むしろ、レス見てると、gcc依存っぽいが。

172 名前:デフォルトの名無しさん [2007/05/23(水) 17:33:52 ]
>>168
xtal-language - Google Code
code.google.com/p/xtal-language/

こっちを出さないと

173 名前:デフォルトの名無しさん [2007/05/23(水) 20:38:36 ]
Cみたいに文字列の先頭から順にアクセスするとかできないんですか?

174 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 22:20:10 ]
>>173
おまー、mixiのluaコミュでも同じ質問してるだろ

175 名前:デフォルトの名無しさん [2007/05/23(水) 22:38:27 ]
別に効率が悪いだけでstring.subでできるでしょ。

176 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 23:36:38 ]
>>168,172
なんか凄いところで紹介されてるね

■404 Blog Not Found
君は新言語xtalを知っているか?
ttp://blog.livedoor.jp/dankogai/archives/50836939.html

177 名前:デフォルトの名無しさん [2007/05/23(水) 23:59:34 ]
>175
ver5.1使ってるんですけど日本語化パッチが5.02までしかないみたいなんで
sjisに対応できないんですよ。まあ出るのを待ちますか。

178 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 00:01:39 ]
>>177
自分で改造するんだ!

179 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 07:36:57 ]
UTF8でいいじゃない



180 名前:デフォルトの名無しさん [2007/05/24(木) 14:31:10 ]
>>177
これはどう?

Lua@空想具現化プログラミング
hammm.dw.land.to/lua/


181 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 21:53:29 ]
誰かlua_qt使ってる人いますか?


182 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 22:25:11 ]
はい

183 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 16:12:03 ]
質問です。LuaからOpenGLって使えます?
C++ネイティブからOpenGL使っているところを、一部分のOpenGL関数だけ
Luaから呼びたいんですけど。

184 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 17:36:39 ]
そういうやつが、どっかにあった気がす
WikiLuaだっけ

185 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 18:38:34 ]
というか逆に使えないと思う理由は何?

186 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 19:06:52 ]
俺が昔使ってたやつはまだ大まかな関数しかなかったから、
自分で書いて命令増やしたりしてたな。
HDDと共に吹っ飛んでもう手元にないが。

187 名前:デフォルトの名無しさん [2007/06/02(土) 16:37:36 ]
>>147
GCCのABIがかわったのは、C・C++関係ないだろ。


188 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 16:39:26 ]
>>166

は、どうした?

189 名前:デフォルトの名無しさん mailto:age [2007/06/06(水) 20:10:29 ]
あげる



190 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 07:23:06 ]
WikiXtalとかないの

191 名前:デフォルトの名無しさん [2007/06/07(木) 20:10:15 ]
SquirrelをDLL化して使っている人いませんか?

squirrel.dllを作ろうとするのですが、失敗します・・・
うまくできた人いない?

192 名前:デフォルトの名無しさん [2007/06/07(木) 20:21:05 ]
VisualStudio 2005 の、squirrelプロパティで、構成の定義で、
「ダイナミック ライブラリ (.dll)」を選べばいいんですよね?

あれ?あ、できました。
何でできなかったんだろ・・・。

ところで、
sqstdlib は、DLL化できないのですが、これってもしかして、付属のライブラリが使えないことを意味するのでしょうか?

193 名前:191 [2007/06/07(木) 20:51:45 ]
sqstdlib.dll ビルドできました。

一旦、squirrel プロジェクトで、lib\ に Squirrel.libを吐いておいて、
sqstdlib プロジェクトで、プロパティ→構成プロパティ→リンカ→→入力 で、
..\lib\squirrel.lib をパスに加えたら、コンパイル通りました。

これでいいのかな?

これで上手くいっているのか、わからないのですが、
他言語(Delphi)から、使ってみようと思います。

ああ、ヘッダーかかなきゃ・・・

194 名前:191 [2007/06/07(木) 20:57:48 ]
squirrel.dll 200K
sq.exe    348K
sqstdlib.dll 348K

なんかサイズが、マズイ気がします。
もしかして、squirrel.dllの中身全部、sqstdlib.dllにも入っちゃってるんでしょうか?
(..\lib\squirrel.libつっこんだんだから当り前か・・・)

別プロジェクト作って、一つのDLLにまとめた方が手っとり早いのですかね?

195 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 22:39:14 ]
半年ROMってろ

196 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 23:43:22 ]
スタティックリンクでいいじゃん

197 名前:デフォルトの名無しさん [2007/06/07(木) 23:51:10 ]
>>195
ムカッ!!

>>196
C++じゃないから、できないもん・・・

198 名前:デフォルトの名無しさん [2007/06/07(木) 23:53:13 ]
>>196
え、あ、もしかして、zlibみたいに、.oでリンクできるかってことか?
できるんかいな・・・

Delphiと、結合となると、BCCもってきていコンパイルか('A`)
どっちにせよだな・・・

199 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 07:14:40 ]
自分で調べて学習する気がないなら、いくら教えても無駄だ



200 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 07:50:47 ]
191はがんばってるとおもうけど

201 名前:デフォルトの名無しさん [2007/06/08(金) 08:52:20 ]
>>199
ひとつも教えてやってもいないじゃないかw

202 名前:191 [2007/06/08(金) 17:30:58 ]
squirrel と sqstdlib 合わせて、まとめた squirrel.dll 作れました。
普段、VS.net使わないから、いやに手こずったぜ・・・

作り方は、後でかくぜ

203 名前:191 [2007/06/08(金) 17:48:50 ]
以下、まとめた squirrel.dll の作り方。
VS.net 2005 proでコンパイルを確認。

squirrel_2.1.1_stable が解凍されているとして、

・squirrel_dll ディレクトリを作る
・squirrel\squirrel.dsp を squirrel_dll ディレクトリにコピーする
・ファイル→追加→既存のプロジェクト で、 squirrel_dll を追加
・プロジェクト名が、squirrel になっているので、squirrel_dll に変更
・squirrel_dll の関連づけられたファイルを一旦全部削除
・プロジェクト → 新しいフィルタ で、フィルタを作って、
 ソリューションエクスプローラーで、フィルタ名を squirrel に変更
・ソリューションエクスプローラーで、フィルタ squirrel を選択して、
 右クリック→追加→既存の項目 で、..\squirrel ディレクトリ の .h と .cpp を全部追加
・同様に、プロジェクト → 新しいフィルタ で、フィルタを作って、
 ソリューションエクスプローラーで、フィルタ名を sqstdlib に変更
・ソリューションエクスプローラーで、フィルタ sqstdlib を選択して、
 右クリック→追加→既存の項目 で、..\sqstdlib ディレクトリ の .h と .cpp を全部追加
・プロジェクト→プロパティで、
 ・構成プロパティ→全般→構成の種類 を、「ダイナミック ライブラリ (.dll)」に設定
 ・構成プロパティ→全般→出力ディレクトリを、「..\bin」に設定
 ・構成プロパティ→リンカ→全般→出力ファイルを、「$(OutDir)\squirrel.dll」に設定
・あとは、ビルド→squirrel_dll のビルドで、
 bin\ に、348KBの squirrel.dll ができていたら成功ー
 
面倒なら、フィルタは作らんでもいいけど・・・

204 名前:191 [2007/06/08(金) 17:49:38 ]
ようは、squirrel と sqstdlib のファイルまとめて、DLL出力にしただけです。
たぶん、普段 VC使っている人なら見なくてもできる。


205 名前:デフォルトの名無しさん [2007/06/08(金) 17:55:47 ]
>>172
これ面白そうだね。でもまだバージョンが1.0未満か


206 名前:191 [2007/06/08(金) 18:22:03 ]
一部訂正

> ・squirrel_dll ディレクトリを作る
> ・squirrel\squirrel.dsp を squirrel_dll ディレクトリにコピーする

・squirrel_dll ディレクトリを作る
・squirrel\squirrel.dsp を squirrel_dll ディレクトリにコピーする
・squirrel\squirrel_dll.dsp に名前を変えておく
・squirrel\squirrel_dll.dsp を VS.netで開く(新しいプロジェクトに変換する)

207 名前:191 [2007/06/08(金) 18:22:50 ]
間違えた orz

> ・squirrel_dll ディレクトリを作る
> ・squirrel\squirrel.dsp を squirrel_dll ディレクトリにコピーする

・squirrel_dll ディレクトリを作る
・squirrel\squirrel.dsp を squirrel_dll ディレクトリにコピーする
・squirrel_dll\squirrel_dll.dsp に名前を変えておく
・squirrel_dll\squirrel_dll.dsp を VS.netで開く(新しいプロジェクトに変換する)

208 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 20:26:11 ]
squirrel の 日本語対応できている人はいませんか?
環境は、Windowsです。

ためしに、sq.exeを対応させてみようとしているのですが、微妙な状況です。

素(そのままコンパイルした)のsq.exe に、
---- multi_byte.nut ------
// 表が怖い
print("噂のソフト\n")
-----------------------
を食わせてみた場合

・SJISは、エラー
 sjis.nut line = (2) column = (10) : error unrecognised escaper char
 Error [unrecognised escaper char]
・UTF-8N は問題なく通る?
 出力は、UTF8だが、ターミナルの文字コードをPoderosaで、UTF-8にすると問題なく見られる。
・UTF-16 LE-BOM付き は問題なく通る?
 出力が、UTF-16になっているがUTF-16のターミナルを持たないので確認できない。

となったのですが、
これは、素で、UNICODE対応していると見てよいのでしょうか?

SQUNICODEしなくてよいのかな?

209 名前:デフォルトの名無しさん [2007/06/08(金) 20:28:54 ]
Squirrel 2.1 リファレンスマニュアル
muffin.cias.osakafu-u.ac.jp/~matumoto/cgi-bin/xt.cgi?prog/squirrel_lang

> Unicode
>
> デフォルトではSquirrelの文字列はプレーン8ビットASCII文字となる。
> しかし、VMにシンボル'_UNICODE'がdefineされているなら、
> コンパイラとAPIで文字が16ビットとして扱われる。





210 名前:デフォルトの名無しさん [2007/06/08(金) 20:44:06 ]
>>209
_UNICDOEをプリプロセッサの定義に設定して、コンパイルしたのですが、
今度は、

>>208のファイルで、
・sjis
・UTF-8N
・UTF-16 LE-BOM
でどれも、
 Error [?????????????8・?8?8?8?

と出てしまい、実行できません。

困りました・・・。

211 名前:デフォルトの名無しさん [2007/06/08(金) 20:47:25 ]
>>210
ちなみに、_UNICODEを定義すると

// hello
print("hello")

とだけ書いたファイルでも
 Error [?????????????8・?8?8?8?
といわれてしまいます。


212 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 21:28:30 ]
SqPlusつかったほうがはやいかもね。


213 名前:デフォルトの名無しさん [2007/06/12(火) 16:39:38 ]
Squirrel の_UNICODE で、デバッガでおいかけていたのですが、
バグなのか、sq.exeで、途中でfilenameが変わって、ファイルが読み込めないという、
不可解な挙動をして、読み込みエラーを吐くので、_UNICODE 見合わせる方向です。

ソースをみると、一応、_UNICODEなくても、BOM付きファイルのUTF16 LE, UTF-16 BE、UTF-8が、
ちゃんと考慮されているようなので、(sqstd_loadfile付近)
_UNICODE使わずに、UTF-16でやってみようと思います。

>>212
多言語から利用したいので、たぶん使えないのですよ・・・
参考にするのはできると思いますが・・・

214 名前:デフォルトの名無しさん [2007/06/12(火) 18:36:04 ]
>>213
残念ながら、_UNICODEなしで、UTF-16は駄目のようです。
_io_file_lexfeed_UCS2_LE あたりを見ればわかるのですが、
wchar_t を char にキャストしていますので、日本語がつぶれてしまいます。

UTF-8では、そのようなことは起きないようですので、
_UNICODEなしの場合は、UTF-8を使いましょう。

という結論です。



215 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 18:50:36 ]
>wchar_t を char にキャスト
すげえなこれ。マジかよ

216 名前:デフォルトの名無しさん [2007/06/12(火) 19:08:56 ]
>>210-211の _UNICODE の問題ですが、解決できました。

sq.exe で、動作確認をしていたのですが、単に、プロジェクト sq が参照している、
プロジェクト squirrel とプロジェクト sqstdlib の_UNICODE が定義されていないだけでした。
VS.netでは、プロパティのプリプロセッサ設定です。
(つまり、_UNICODEの定義された objと、されていないobjを混ぜていた。そりゃ駄目だわー)

VS.netに、慣れてないせいにしておきます!

>>215
_UNICODE を定義(#define)していない場合の話です。
_UNICODE 定義時は、wchar_t → wchar_t になり、ちゃんと読めます。

217 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 20:59:10 ]
>>212
> 多言語から利用したいので、たぶん使えないのですよ・・・

kwsk

218 名前:デフォルトの名無しさん [2007/06/13(水) 02:56:41 ]
>>217
SqPlusはテンプレートベースの、スタック操作とか減らすためのライブラリというように見えたのですが、
違うのかな?
テンプレートベース=C++べったりなので、そのまま多言語から使うのは難しいという認識です。

いや、よく見ていないのですが・・・
これから見てみます。


219 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 11:14:11 ]
>>210
遅レスですまんけど、
たんにコンソール出力がUNICODEに対応してないからじゃないのかな
エラー出力をフックして、
コード変更してみたらどうかな



220 名前:デフォルトの名無しさん [2007/06/13(水) 17:05:09 ]
>>219
>>216

221 名前:デフォルトの名無しさん [2007/06/13(水) 17:06:56 ]
>>216
squirrelの追記。

プロジェクト sq などの、printを使うプロジェクトの場合、文字化けする(コンソールに?????と出力される)ので、
setlocale( LC_ALL, "" );
を最初の方に入れてロケールの設定をしておくこと。



222 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 17:22:45 ]
setlocaleって内部で何やってんのかね
SetThreadLocaleとかのAPIを呼び出してるのかな

223 名前:デフォルトの名無しさん [2007/06/15(金) 11:15:20 ]
luabind使ってる人に質問。引数にunicode文字列を持つC++の関数をLuaから呼び出した
いときってどうやる?

224 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 12:11:08 ]
>>188
すみません。ちょっと忙しいのでなかなか取り掛かれません。

自分はLuaを使ったことはないし、スクリプトをいじるのも今回が初めてですし、
プログラマとしても経験不足なのは否めないのであまり期待されても困るのですが、
squirrelを使い始めたばかりの人が参考に出来るくらいの情報を提供する自信はあるので、
そのうち必ずやります。


225 名前:デフォルトの名無しさん [2007/06/16(土) 01:37:01 ]
>>203
補足。
APIに、externだけでなくて、 __declspec(dllexport)つけとかないと、
DLLとして外部に関数を解放できない。
俺アフォw

- #define SQUIRREL_API extern
+ #define SQUIRREL_API extern __declspec(dllexport)

226 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 15:29:22 ]
Luaの質問。
Cで定義した変数をLuaのグローバル変数にして、
Lua側で値を変更するとC側でも変更されてるようにならないかな?
userdataかlightuserdataあたりを使うんだろうけど、、、

227 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 09:38:11 ]
lightuserdataをdoubleへのポインタだと決めてかかって
無理やりluaの実数書き込んだり読んだりできるようにluaを書き換えるのは
大した手間じゃないと思うぞ

228 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 16:55:22 ]
>>227
何の話?

229 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 23:38:23 ]
なんか股間がザーメン臭いんだけど



230 名前:デフォルトの名無しさん mailto:sage [2007/06/21(木) 00:10:56 ]
>>229
遺精か。あんまり頻繁にあるようなら病院逝けよ。お大事に。

231 名前:デフォルトの名無しさん mailto:sage [2007/06/21(木) 00:30:35 ]
真性マゾルートだと一切触れずにいける様になるらしい






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<210KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef