ToDo:
それなりに苦労して作った
char*n[]={ "imix","ik","akbal","kan","chicchan","cimi", "manik","lamat","muluk","ok","chuen","eb","ben", "ix","mem","cib","caban","eznab","canac","ahau" }; main(d,y,m){ for(puts(gets(y));~scanf("%d.%s%d",&d,&m,&y); printf("%d %s %d\n",d%13+1,n[d%20],d/260)) d+=y*365+20*( m%21?m%7?m%99?m%9?m%80?m%24?m%8?m%5?m%4?m%13?m%17?m%59?m&20?m&10? m%6? m%2? m%9-4?14:7 :3 :m%5-4?10:2 :18:16:11:1:13:4:12:15:5:0:6:8:9:17); }
が通らないみたいだ。悲しいね。 リトルエンディアンだからいいと思うんだけどねぇ。
というかエンディアンもクソもなく通ってなさげ。 おっかしいいなーーー
(01:08)
メシを買いにでかけたが、コンビニで気付いた。 夕飯はすでにたべていた。
しかしたらすぱが喰いたかったので買ってしまった。
たらすぱはおいしくなかった。
あたためる時、「レンジの使用はセルフです」と書いてあった。
うちのエレベータは2基ある方と1基あるところがあって、 2つある方は1階と9階に、1つの方は1階に止まっていると思う。 1階で待機するのは合理的だとして、なんで9階かなと思い。 12階だてなので、一番待たせる平均時間の少ない場所は 8階か9階のどっちかだと思う。 この中で9階が選ばれる根拠はというと、 1階までに下りるワーストケースを短くしてるのかなぁ (9-12-1と8-12-1の経路を比較)、 とか思ったけど、ただ適当なだけかもしれないし、 はまじくんのために気をきかせてくれてるだけかもしれない。
2つの方は少し遠くて、1つの方は近い。 上がる時、 昼だと2つの方を利用した方が待ち時間少なめだけど、 夜なら1つの方はたぶん1階に戻ってきてるだろうと 思って1つの方に行くわけだけど、 どう見ても6階で待機してて、これはなんなのかなぁと。 実は自動で1階には行ってなくて夜は下りる人が 上がる人より多いから勝手に下に行ってた説は 棄却したい気分というか昼も1階でよく見る気がするので、 なんらかの理由で移動した後はしばらく待機するとして、 それは次に呼ばれる可能性があるので、 逆方向に走り出したけどやっぱ戻るぜー みたいなマヌケな事態を回避するために、 一定期間待機してしばらく客がいなかったら1階で待機、 みたいな戦略かなぁとか。
とかいうことを年中考えてるのは 思考力の訓練になるとか盲信しているけど、 それはどっちかというと ただの自分がやってることは悪くはないに違いないと とりあえず思ってしまう、プログラマによくありそうな やつかもしれないなぁとも思う。
なんにせよ自転車こいでる時とかは やめないと死ぬと思う。
(03:08)
l=65;*s; main(c,v){ s=v; for(puts(".text\n.global main\nmain:pushl %ebp;movl %esp,%ebp;movl %esp,%esi;subl $999,%esi"); c=getchar(),~c;){ c-62? c-60? c-43? c-45? c-44? c-46? c==91? printf("%cB:cmpl $0,(%%esi);je %cE;",l,l), *s++=l++ :c==93? v=*--s, printf("jmp %cB;%cE:\n",v,v) :0 :puts("pushl (%esi);call putchar") :puts("call getchar;movl %eax,(%esi)") :puts("decl (%esi)") :puts("incl (%esi)") :puts("decl %esi") :puts("incl %esi") ; } puts("leave;ret"); }
適当に書いておく。
(06:58)
http://web.kyoto-inet.or.jp/people/ray_fyk/diary/dr0010_3.htm#001026
via http://gusmachine.blog49.fc2.com/blog-entry-70.html
(01:46)
http://pc8.2ch.net/test/read.cgi/tech/1158259643/47
obj method(arg1, arg2)
みたいな時の obj と method が実質演算子になっているというのと、
つかふと思ったけど Io の 引数書かないでおいてほげほげーってヤツは あれまさに呼び出し側から見えない lazy だなと。
(03:37)
http://www.jmuk.org/d/?path=2006/09/18#d18t01
D の lazy ってメモ化とセットになってるような意味での 遅延評価をやらせるための機能なんだろかとふと。
(03:40)
すれば再帰関数をなんとかできるんじゃないか… とか思ったんだけどなんかダメな気がする。
class memo_t(T) { alias rettype!(T) RT; alias argtype!(T) AT; this(T t) { fp_ = t; } RT opCall(AT a) { if (a in memo_) return memo_[a]; return memo_[a] = fp_(a); } private: T fp_; RT[AT] memo_; } memo_t!(T) memo(T)(T t) { return new memo_t!(T)(t); } class memo_mt(T) { this(T t) { m_ = memo_memo_(t); } rettype!(T) opCall(argtype!(T) a) { return m_(a); } static memo_t!(memo_t!(T) (*) (T)) memo_memo_; static this() { memo_memo_ = memo(&memo!(T)); } memo_t!(T) m_; } memo_mt!(T) memo_m(T)(T t) { return new memo_mt!(T)(t); }
ちなみにテストはされてない。
(04:55)
なんかロクでもないじゃないか
(05:24)
print_string "Web"; ikunai () in web ikunai
と言いつつメモ
http://tabesugi.net/memo/cur/cur.html
つまりメモ化に限らず 再帰関数に別の関数をかますには いじりたい関数がすごいいい形をしてるか、 あるいは duck typing な感じの 型付けの無い言語じゃねえとなぁみたいな。
でも D はなんとかできる気はする。 あ、 functor を基底にすりゃいいのか。 つーか Boost.function がそれだっけ覚えてにええ。
(14:04)
http://dem.dyn-o-saur.com/ が最初から解いてくとか 始めてたので僕もやっている。 コードはほどほどに縮めつつ。
今1008まで。 1008縮める方針は想像つくけどめんどいなーとか。
1005はひどい事実 (http://d.hatena.ne.jp/Ozy/20060323#c1158512539) があるぽいから123Bとかになってるのな…
1007はトップみたいだ。 1001もCだとトップ。 どっちも適当だから誰かがやればすぐ追いつかれるだろうな。
(21:29)
がいるんだけど、前者の方がロマンがある。 でも実はそんなことはどうでもよくて、 なぜかというと、
が大多数だから
(22:41)
みたいな。
http://d.hatena.ne.jp/shinichiro_h/20051225#1135499616
ごくたまに存在を思い出して使うけど割に便利なこともあったりはする。
(23:55)
i@u ~/test/ruby> cat fun_cl.rb def hoge class C end end i@u ~/test/ruby> ruby fun_cl.rb fun_cl.rb:2: class definition in method body
(00:04)
心動くような。
k.inabaさんの説明 http://www.kmonos.net/wlog/65.html#_1549060908 で突然 unsafePerformIO が素晴らしいものに思えたとか。
Haskell はもう <- が。まぁ僕は
23:47 >i< いやHaskellはパズルゲームじゃないの
とか言ってるわけだが。
結構面白いゲームな気はしますけどね。 無限リストゲームとかポイントフリーゲームとか。
あ、
23:50 >i< Haskellはパーサを書く場合のみ実用品ですね
とも。
IOモナド一個も出てこなくて ghciで実行結果確認するようなコードが一番こう Haskellいいなぁと思うとかなんか。
(04:02)
let (>+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++.[-]>++++++++[<++++>-]<.>+++++++++++[<+++++>-]<.>++++++++[<+++>-]<.+++.------.--------.[-]>++++++++[<++++>-]<+.[-]++++++++++.) = print_endline "Hello world!"
とか書こうとしたけどダメだった
(11:56)
実装したことないデータ構造があるのはよろしくないので実装しておいた。
h[10000]; s,t,n; main(i){ for(i=100;--i;) for(h[n=s++]=rand()%100+1;h[n]>h[n/2];n/=2) t=h[n/2],h[n/2]=h[n],h[n]=t; puts("before"); for(i=0;i<s;i++) printf("%d\n",h[i]); puts("after"); for(;s--;printf("%d\n",h[0])) for(h[n=0]=h[s]; i=n*2+(h[n*2]<h[n*2+1]),i<=s&&h[n]<h[i];n=i) t=h[i],h[i]=h[n],h[n]=t; }
ヒープソートってこんな感じだよね。
(15:01)
http://alohakun.blog7.fc2.com/blog-entry-459.html
普通にこういう話じゃないのかしら。
i@u ~/test/ocaml> cat maj.def DEFTSUHAI(0, ton, "東") DEFTSUHAI(1, nan, "南") DEFTSUHAI(2, sya, "西") DEFTSUHAI(3, pe, "北") DEFTSUHAI(4, haku, "白") DEFTSUHAI(5, hatsu, "撥") DEFTSUHAI(6, chun, "中") i@u ~/test/ocaml> cat cpp.ml #define DEFTSUHAI(n, e, s) let e = n;; #include "maj.def" #undef DEFTSUHAI #define DEFTSUHAI(n, e, s) s; let id2str = [| #include "maj.def" |];; #undef DEFTSUHAI let _ = print_endline id2str.(ton); print_endline id2str.(haku); i@u ~/test/ocaml> gcamlopt -pp "cpp -P" cpp.ml i@u ~/test/ocaml> ./a.out 東 白
(20:31)
_ 晩ごはん [抽象構文木上では識別子は文字列ですので、「^」で連結すると良いと思いますです。 >|| #load "camlp4o..]
_ 晩ごはん [あー、しまった。上のコード、CVS版のOCaml(Camlp4)じゃないと動かないです。]
_ shinh [うあーなんでもアリですねぇ。しかしどうもうちだと CVS 版 (3.10+dev8 (2006-06-26) と言わ..]
_ 晩ごはん [上のコード、コンパイルするには END;; の前後でファイル分割しないとです。すみません、すみません。ちゃんと書かか..]
_ shinh [あー分割しなきゃいけなかったのですね。よく考えればあたり前でした…そのアドバイスのおかげでとりあえずコンパイル&実行..]
i@u ~/test> ./hello\ world\! ~/test 18:21 ↑今カーソルがここにある
ここでリターンをポチっとなー。
i@u ~/tsst> ./hello\ world\! i@u ~/test> ~/test 18:22
いくら結果不定とはいえそんなとこに出力する子は始めて見たよ…
test が tsst になってるという話だが
(18:23)
http://japan.maxim-ic.com/products/microcontrollers/maxq.cfm
あーハーバードアーキテクチャなのかー。 なんかそらそうかチックだけどなるほどみたいな。
http://japan.maxim-ic.com/appnotes.cfm/appnote_number/3222
んでこれかー。
すげーすげー
すげー
(18:52)
メールアドレスと一緒に、スパム認定されないための キーワードを書いておく。 例えば hamaji _at_ nii.ac.jp (浜地を含まないメールは全てスパム扱いします) とかそんな感じとか。
(19:26)
http://www.creators.ne.jp/dictionary/extension/c.html
ほえー。 組み込み屋が使うようなものなのだろうか…
(19:32)
13^3 = 1^3*955 + 3^3*46 14^3 = 1^3*752 + 2^3*249 28^3 = 1^3*960 + 8^3*41
これ以降はなんか全然見つからん。
(03:47)
なんか書いてて楽しいんだよなぁ。 なんでやろ。 ある程度理由はわかるが。
でもデータ構造の作り方がイマイチよくわからん。 ていうか OO 以外のデータ構造の作り方できんというか。
んでなぜか麻雀の上がり判定など。 もっと面倒かと思ってたんだけど案外簡単なんだな。 syuntsu がひどいとか List.append は遅いらしいとか色々あるけど。
http://shinh.skr.jp/t/agari.ml
あとは役の判定と点数計算とシャンテン数計算かねー。
(02:04)
camlPervasives__$40_166 ってなんやねん。
time seconds seconds calls ms/call ms/call name 22.22 0.06 0.06 592016 0.00 0.00 camlPervasives__$40_166 18.52 0.11 0.05 1271000 0.00 0.00 compare_val 7.41 0.13 0.02 238000 0.00 0.00 camlAgari__v2p_93 7.41 0.15 0.02 135005 0.00 0.00 camlList__sort_295 7.41 0.17 0.02 581 0.03 0.03 caml_oldify_local_roots
(02:27)
(02:30)
(02:37)
agari_patterns というかその inner に一瞬型書いた記憶が。 というのはコンパイルエラーの意味がよくわからなかったので… たしか
let rec inner te headed (cur : pai list list) =
とかとあとどっかもう一箇所入れた気が。 なんとなく1つだけ型残ってるのが気持ち悪かった上に 一度コンパイル通っちゃったらもう別に型いらないよなぁ とか思って消しちゃったわけですが。
(12:46)
type yaku = TSUMO | RICHI | IPPATSU | PINHU | TANYAO | IPEKO | HAKU | HATSU
とか書き始めて思ったけど、 これはダメな気がする。
だって enum みたいなもんですと言ってるけど数値にできないような。
| TSUMO -> "門前清自摸和" | RICHI -> "立直"
みたいなのは型安全だろうがなんだろうがなんかイヤだ。
type tsuhai = E | S | W | N | H | T | C
もダメだなぁと思いながらやってたわけだが。
範囲型か。 Ada がえらいのか。
(13:05)
# type tsuhai = E | S | W | N | H | T | C;; type tsuhai = E | S | W | N | H | T | C # (Obj.magic T)-(Obj.magic E);; - : int = 5
こうしてもいいよね!
(13:36)
http://acm.pku.edu.cn/JudgeOnline/problemstatus?problem_id=1001&orderby=clen&language=1
多倍長処理とかめんどいね。
(18:27)
http://acm.pku.edu.cn/JudgeOnline/problemstatus?problem_id=1001&orderby=clen&language=1
(21:11)
shinh@cf-amd64-linux:~> cat hoge.c #include <stdio.h> void hoge() { puts("hoge"); } shinh@cf-amd64-linux:~> gcc -shared -o hoge.so hoge.c /usr/lib64/gcc-lib/x86_64-suse-linux/3.3.1/../../../../x86_64-suse-linux/bin/ld: /tmp/ccaYZHDk.o: relocation R_X86_64_32 can not be used when making a shared object; recompile with -fPIC /tmp/ccaYZHDk.o: could not read symbols: Bad value collect2: ld returned 1 exit status
そういうもんなんか…
(00:47)
http://shinh.skr.jp/m/?date=200503
あたりが表示できんくなってたのでパッチ。
defaultio.rb の
diary = eval( "TDiary::WikiDiary::new( headers['Date'], headers['Title'], body, Time::at( headers['Last-Modified'].to_i ) )" ) #diary = eval( "#{style( style_name )}::new( headers['Date'], headers['Title'], body, Time::at( headers['Last-Modified'].to_i ) )" )
よーわからんが動く。
(01:28)
> ここらへん
さてなんか2つにわけた理由というのは 今はもう正確に思い出せないけど今現在の理由としては
まぁみっつめ以外はどうでもいいとして。 どうでもいい僕の日常とか見たい特殊な人は こっち見てもいいよ でも基本的に技術的に面白いことあったら はてなの方に書くよ的な。
どうでもいいけどはてなアカウント二つ操作するのは とてもめんどくさそう。
まぁこういうメモをポンポン置けるのは便利
(04:13)
僕はインストラクションセットとか見てても何もわからん。
shinh@cf-amd64-linux:~> cat hoge.c int main() {
puts("hoge"); puts("hoge");
}
以下略。
なんだ普通じゃん。つーことはコードのバグだ。 オケオケ。
jmpq *12345678(%rip)
みたいな命令は、 12345678 は単なる 32bit の物体で、 実行前にリロケーションされるんだけど、 その先に 64bit のアドレスがえーと
0x500820 <_GLOBAL_OFFSET_TABLE_+16>: 0x955610e0 0x0000002a
まぁこんな感じで置いてあるので、 0x0000002a955610e0 に飛ぶ… って普通に間接ジャンプしてるだけじゃん。
(04:50)
int main(int argc, char *argv[], char *envp[]) { int i; char buf[4096]; void *fp = fopen("/proc/self/maps", "r"); while (fgets(buf, 4095, fp)) printf("%s", buf); for (i = 0; i < 10000; i++) { printf("%d %p %p\n", i, argv[i], &argv[i]); } }
なんか毎回全然違うな。 またなんかセキュリティ関係でありがたい^H^H^H^H^H余計なことされてるんだろうか
普通と逆の表現のしかたをしてみた
まぁわかることはえらい広いということだなぁ。
(05:10)
(15:41)
関数内で、ループのために let rec な関数を もう一個書くことがよくあるけど、 これにつける名前で悩む。 元の関数と同じ名前が一番自然だったりしてね。
k.inabaさんが Python でやってた _ はいいなと思ったけど OCaml にはおこられた。
むー?
http://ocaml.jp/archive/document/intro1.html
iter ねぇ…
むー。
__ はいいらしい。 むしろなんで _ があかんねん。
# let _ x = x;; Syntax error # let _ = 1;; - : int = 1
http://www.sato.kuis.kyoto-u.ac.jp/~igarashi/class/isle4-05w/mltext/ocaml003.html#toc6
ここの変数の名前にだめと書いてあるなぁ。
_' とか…
(18:45)
OCaml のコンストラクタって関数として扱えないのかしらん。
# type t = A of int | B of int;; type t = A of int | B of int # let x = A;; The constructor A expects 1 argument(s), but is here applied to 0 argument(s)
(22:17)
# type t = A of int | B of int;; type t = A of int | B of int # a = A 1;; Unbound value a # let a = A 1;; val a : t = A 1 # let b = A 1;; val b : t = A 1 # a == b;; - : bool = false
そうなのね… んーと。
(22:55)
それPlaを見てて、
「Wiki を Ruby で作りたいんですが〜」
「それ C でもできるよ」
「C でのやり方を聞いてるんじゃないです!><」
っていうのを考えてたんだけど、 そのそれCの部分で適当に C で 7行くらいで書いた Wiki とか はろうと思ったんだけど、 Wikiめんどくなってやる気失せた…
正規表現無しで作るもんじゃないなぁ…
(04:12)
(15:46)
おっしゃる通り99にすれば、 使うバッファ狭くなりますしセグらないと思いますよ。 envp壊しまくりでしょうから、環境変数の数に依存してると思います。
i@u ~/test> cat tail.c d=10;main(i,b){for(;gets(++i%d*99+b););for(;d--;)puts(i++%10*99+b);} i@u ~/test> gcc tail.c tail.c:1: 警告: データ定義が型や記憶クラスを持っていません /tmp/cciy87bP.o: In function `main': tail.c:(.text+0x3d): warning: the `gets' function is dangerous and should not be used. i@u ~/test> diff =(dmesg|./a.out) =(dmesg|tail) i@u ~/test>
99でも395Byteも入りますしねぇ
(21:01)
void hello() { int h[4]; h[0] = 'lleH'; h[1] = 'ow o'; h[2] = '!dlr'; h[3] = '\0\0\0\n'; write(1, h, 13); exit(0); }
とかすれば rodata 消せるって話か…
(02:30)
.section .text movl $1, %ebx movl $.LC0, %ecx movl $13, %edx movl $4, %eax int $0x80 decl %ebx movl $1, %eax int $0x80 .LC0: .string "Hello world!\n"
で300Byteだった。
(02:52)
.section .text xorl %ebx, %ebx incl %ebx movl $.LC0, %ecx movl $13, %edx movl $4, %eax int $0x80 decl %ebx xorl %eax, %eax incl %eax int $0x80 .LC0: .string "Hello world!\n"
(02:58)
.section .text leal 13(%eax), %edx incl %eax leal 4(%ecx), %ebx movl $.LC0, %ecx l: xchg %eax, %ebx int $0x80 jmp l .LC0: .string "Hello world!\n"
あとはヘッダをほげほげとかしか無いんだろうけど、
うーんすげえんだよなぁ。
http://home1.catvmics.ne.jp/~msy/tak/alg/minhello.htm
(03:22)
0000000 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 >.ELF............< 0000020 02 00 03 00 01 00 00 00 54 00 00 00 34 00 00 00 >........T...4...< 0000040 54 00 00 00 00 00 00 00 34 00 20 00 01 00 28 00 >T.......4. ...(.< 0000060 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 >................< 0000100 00 00 00 00 74 00 00 00 74 00 00 00 07 00 00 00 >....t...t.......< 0000120 00 10 00 00 8d 50 0d 40 8d 59 04 b9 65 00 00 00 >.....P.@.Y..e...< 0000140 93 cd 80 eb fb 48 65 6c 6c 6f 20 77 6f 72 6c 64 >.....Hello world< 0000160 21 0a 00 00 >!...<
(04:23)
0000000 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 >.ELF............< 0000020 02 00 03 00 01 00 00 00 44 00 00 00 2c 00 00 00 >........D...,...< 0000040 54 00 00 00 00 00 00 00 34 00 20 00 01 00 00 00 >T.......4. .....< 0000060 00 00 00 00 00 00 00 00 00 00 00 00 6c 00 00 00 >............l...< 0000100 6c 00 00 00 8d 50 0d 40 8d 59 04 b9 55 00 00 00 >l....P.@.Y..U...< 0000120 93 cd 80 eb fb 48 65 6c 6c 6f 20 77 6f 72 6c 64 >.....Hello world< 0000140 21 0a 00 00 >!...<
ちょうど100Byte
(04:46)
0000000 7f 45 4c 46 48 65 6c 6c 6f 20 77 6f 72 6c 64 0a >.ELFHello world.< 0000020 02 00 03 00 40 eb 09 00 14 00 00 00 2c 00 00 00 >....@.......,...< 0000040 8d 51 0d 8d 59 04 eb 10 34 00 20 00 01 00 00 00 >.Q..Y...4. .....< 0000060 00 00 00 00 00 00 00 00 89 d9 eb 08 49 00 00 00 >............I...< 0000100 49 00 00 00 93 cd 80 eb fb 00 00 00 >I...........<
これ以上小さくするのは無理な気がする。 エルフヘッダ52Byteとプログラムヘッダ32Byteは必須。 ただ8Byteはオーバーラップさせてるので、合計76Byteが必須になる気がする。 コードは全部ヘッダに埋めた。
(05:22)
http://rucila.s43.xrea.com/memo/?date=20050205#p03
ObjC ならラクじゃねってのは面白いなぁ。
(12:44)
lampedusa,diu,graciosa,kaula,aratika,oahu,graciosa,roosevelt,hareoen,pianosa,ustica,long,liberty,burano,nuulua,abumusa,chorao,antao,perejil,nuulua,cies,lanai,aracena
ガイシュツだった
http://slashdot.jp/~MK/journal/373378
(15:19)
0000000 7f 45 4c 46 01 00 00 00 00 00 00 00 00 10 00 00 >.ELF............< 0000020 02 00 03 00 34 00 00 00 20 10 00 00 04 00 00 00 >....4... .......< 0000040 40 cd 80 00 00 00 00 00 00 00 20 00 01 00 00 00 >@......... .....< 0000060 00 00 00 00 >....<
なんで動かないのかしら…
59Byte の hello.asm も同じ方式でやってるぽいので、 落ちる理由は同じってことかなぁ…
2,7c2,7 < マジック: 7f 45 4c 46 48 65 6c 6c 6f 20 77 6f 72 6c 64 0a < クラス: <不明: 48> < データ: <不明: 65> < バージョン: 108 <unknown: %lx> < OS/ABI: <不明: 6c> < ABI バージョン: 111 --- > マジック: 7f 45 4c 46 01 00 00 00 00 00 00 00 00 10 00 00 > クラス: ELF32 > データ: なし > バージョン: 0 > OS/ABI: UNIX - System V > ABI バージョン: 0 10,15c10,15 < バージョン: 0x9eb40 < エントリポイントアドレス: 0x14 < プログラムの開始ヘッダ: 44 (バイト) < セクションヘッダ始点: -1928572531 (バイト) < フラグ: 0x10eb0459 < このヘッダのサイズ: 52 (バイト) --- > バージョン: 0x34 > エントリポイントアドレス: 0x1020 > プログラムの開始ヘッダ: 4 (バイト) > セクションヘッダ始点: 8441152 (バイト) > フラグ: 0x0 > このヘッダのサイズ: 0 (バイト) 28c28 < LOAD 0x000000 0x00000000 0x08ebd989 0x0004c 0x0004c WE 0xfb --- > LOAD 0x000000 0x00001000 0x00030002 0x00034 0x01020 R 0x80cd40
< の方は動いてる。
(17:30)
e_entry と p_filesz がカチあうのでダメ。
あと p_type を e_shoff の位置から始めるのは、 e_shnum と p_filesz がかぶってしまってダメっぽいんだよね。
(17:43)
http://osask.jp/boyaki04.html#bball
作ってみたいが線をひくAPIなんて当然ないよな。
リロケーションが入ったらそりゃダメだろうし、 となると fb に根性でほげほげとかになるのだろうかなぁ。 なんか200Byte程度ならできそうな気がしてしょうがないんだが。
(18:03)
_ shinh [そのあたりはとりあえず動作しないんですよね。昔は今よりチェック甘かったのかなぁと思います。やりたいことは私の方針とほ..]
_ shinh [ついでに調べたんですが、 tiny.tar.gz に入ってる ls なんかは動くんですが、これは私が成功した例と同じ..]
_ yupo5656 [面白そうなので私もいろいろ追試してみまーす。PT_LOADのとこのEは、exec-shield効いてないなら不要(R..]
_ yupo5656 [とおもったけどやってみるとあやしいな(そんなんばっか)。もうちょい考えます。]
_ shinh [私が調べた限りでは、 E は必須みたいです。 R はいらないです。 exec-shield は切れてるはずなんですが..]
前 | 2025年 10月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。
_ Gus [>w3m使いは普通に見れるね あとRSSに普通に現れました。 あとICFP 一人で30th おめでとうございます。]
_ Gus [うお、ICFPはnamasuteさんがいたんですね。表を見てませんでしたすみません。]
_ shinh [あーなるほどRSSですかー。一応適当に中身消しておいたとか。あと30thはめでたいんでしょうか…そちらこそ13位おめ..]