Fork me on GitHub

2009/10/28

Recent entries from same category

  1. テーブルにINSERTされたらGrowl Hatena
  2. 8年前のソースコードを晒してみるの巻 Hatena
  3. 僕は死にません! Hatena
  4. コマンドプロンプトをgyazoするGyazoCmd作った。 Hatena
  5. C++で匿名関数をコールバックに使う。 Hatena

はてな
最近、kazuhoさんが作った「C」で遊んでいるのですが(いまごろかい!)、これWindowsでも使いたいなーなんて思ったのでポーティングしてみた。
C - a pseudo-interpreter of the C programming language

Perl や Ruby では、ワンライナーで処理が書けて便利です。でも、なぜか C では書くことができません。仕事上の都合で、小さな処理を C 言語で書く必要があったので、ワンライナーも書くことのできる C 言語のインタプリタ(?)を作ってみました。

http://labs.cybozu.co.jp/blog/kazuho/archives/2006/01/large_c.php

目指せバイナリアン (C-0.06)

C-0.06 をリリースします。

http://labs.cybozu.co.jp/blog/kazuho/archives/2006/05/c-0_06.php
これがあるとコマンドプロンプトから
C:¥>C
puts("kazuho");
^D
kazuho

C:¥>
こんな事が出来たり、
C:¥>C -e "printf("""hello world¥n""");
hello world

C:¥>
こんな事が出来たりします。コマンドプロンプトなのでクォートのエスケープ2重打ちがめんどくさいですが(実際にはクオートの中のクォートなので3重になります)、なれれば簡単ですし昔なつかしnyacusなんかを使えばシングルクォートでも行けるはずです。(cygwin?何それ)
コンパイルや実行にはmingw32が必要です。
コンパイルは以下の様に簡単。
C:¥C-0.06¥>gcc -o C.exe C.c
mingw32が出力するa.exeに対応しています。ちょっと弄ればMSVCにも対応出来るんじゃないかな。

kazuhoさんに感謝しつつ、Version画面に「Win32 Porting」として名前を入れさせて頂いています。
mattn's C-win32 at master - GitHub

win32 port of C(a pseudo-interpreter of the C programming language)

http://github.com/mattn/C-win32
Windowsユーザでコマンドプロンプト使いで、mingw32が入っててC言語をこよなく愛する皆さんにどうぞ...。

対象範囲せま!
Posted at 22:02 in ソフトウェア::lang::c | WriteBacks (1) | Edit
Tagged as: c, C, kazuho, windows
Bookmarks: このエントリーのtweets add to hatena add to hatena | add to delicious.com | add to livedoor.clip add to livedoor.clip | add to buzzurl add to buzzurl | add to fc2bookmark add to fc2bookmark | add to Yahoo Bookmark add to Yahoo Bookmark | add to Pookmark add to Pookmark

blog comments powered by Disqus
WriteBacks

[vim][c] quickrun.vim で C(large-C) を使う

eagletmt: quickrun.vim って hoge.c と ディレクトリ hoge があるとき失敗してしまうのか http://twitter.com/eagletmt/statuses/9537012516 そう言われてみれば。Windows ならともかく quickrun.vim はデフォルトの設定では実行ファイル名をソースファイル名と同じにして

Posted by 永遠に未完成 at 2010/02/25 (Thu) 14:20:51

TrackBack ping me at
Post a comment

writeback message: There was a problem posting your writeback.(004)