12/05/13 13:43:35.87
#include <iostream>
#include <lua.hpp>
using namespace System;
int main(array<System::String ^> ^args)
{
double z;
int ret;
for(int aa = 0; aa < 1000000; ++aa){
lua_State *L = luaL_newstate();
L = lua_open();
luaL_openlibs(L); // これで以下の個別のライブラリを一度に使えるようにする
ret = luaL_dofile(L, "add.lua"); // Lua scipt 読み込む
if(ret != 0){
printf("Failed");//読み込み失敗
return -1;
}
lua_pushstring(L, "add");
lua_gettable(L, LUA_GLOBALSINDEX);
lua_pushnumber(L, 100); // 引数数値"100"をスタックに
lua_pushnumber(L, 5); // 引数数値"5"をスタックに
lua_call(L, 2, 1);
z = lua_tonumber(L, -1) ;
printf("%d-%f\n", aa, z);
lua_close(L);
}
return 0;
}
//add.lua
function add(a, b)
return a+b
end
518:デフォルトの名無しさん
12/05/13 13:44:00.64
↑動かすとどんどんメモリー増えていく
どこ修正すれば解消される?
(lua5.1使用)
519:デフォルトの名無しさん
12/05/13 13:45:18.32
まさかのc++cli
520:デフォルトの名無しさん
12/05/13 13:48:18.68
> lua_State *L = luaL_newstate();
> L = lua_open();
ここだね、かぶってる。消し忘れ?
521:デフォルトの名無しさん
12/05/13 13:52:33.50
c++cliです
//L = lua_open();
で、増えなくなった
ありがとう
522:デフォルトの名無しさん
12/05/17 11:13:05.10
WindowsでLuaの勉強をはじめたんですが
Shift_JIS対応版Luaを使ったほうがいいのでしょうか?
スクリプトファイルはUTF-8で保存してcygwinのターミナルで実行すれば日本語も表示できるし
SJISでファイルを保存すればコマンドプロンプトでも日本語は表示できるので不便を感じません
いまいちよくわかってないのですがShift_JIS対応版を使うメリットはなんでしょうか?
523:デフォルトの名無しさん
12/05/17 11:19:04.86
>>522
Shift_JIS でスクリプトを持ちたければ、これの回避が要るんじゃないの?
URLリンク(ja.wikipedia.org)
524:デフォルトの名無しさん
12/05/17 15:07:11.90
>>523
イーモバイル使ってませんか?
525:デフォルトの名無しさん
12/05/17 21:54:06.89
文字列に「ソ」とか入ってると文字列がおかしくなっちゃうんじゃないの?
526:デフォルトの名無しさん
12/05/17 22:45:02.36
カギ括弧でくくればエスケープされないから、大丈夫じゃない?
> a = "ソ表";
stdin:1: unfinished string near '"・;'
> a = [[ソ表]];
> print( a );
ソ表
527:デフォルトの名無しさん
12/05/17 22:48:23.90
もしsjisをやめてもWindowsは "C:\" だけでおかしくなる
だからsjisをやめるメリットが少ない
528:デフォルトの名無しさん
12/05/17 23:07:35.04
mrubyがでてきたから、今後はもうluaはジリ貧だな
529:デフォルトの名無しさん
12/05/17 23:08:12.11
他人が打ち込んだ文字列を取り入れる可能性ないならSJIS無視してOK
530:デフォルトの名無しさん
12/05/17 23:35:17.32
mrubyの「組み込みシステム」ってそういう意味じゃないんじゃないの?
531:デフォルトの名無しさん
12/05/17 23:42:05.67
すまん、勘違いだった
532:デフォルトの名無しさん
12/05/18 00:14:16.28
とりあえずウォッチしてるけどLuaの影響がだいぶでかい感があるな
まだまだ開発中だけどやっぱりRubyで書けるようになるのは嬉しい
533:デフォルトの名無しさん
12/05/18 01:13:09.15
>>527
それ Windows は、じゃなくて、C言語的に普通にえらーだべ
534:デフォルトの名無しさん
12/05/18 10:00:13.72
>>526
Win環境でなくて申し訳ないけど
> s="ソ\r表"
> for i=1,#s do io.write(s:byte(i,i).." ") end print("")
227 130 189 13 232 161 168
> print(s)
表
> s=[[ソ^M表]]
> for i=1,#s do io.write(s:byte(i,i).." ") end print("")
227 130 189 10 232 161 168
> print(s)
ソ
表
別の問題が出て来る気がする
535:デフォルトの名無しさん
12/05/19 02:58:32.03
mrubyのミドルウェアへの組み込みは思いつかなかったな
536:デフォルトの名無しさん
12/05/19 15:20:02.78
単体で使うならrubyの方がいいけど
組み込み処理系がLuaほどいじりやすいかどうか。
MatzがやってるならC++でのコンパイルも通らないだろうし orz
537:デフォルトの名無しさん
12/05/20 21:47:23.56
>>534
どんな問題?