【献血デビュー】体重が少し足りず400ml献血はできなくとも、献血ルームでの成分献血ならできたぞ、という話 いきさつ 2025年の抱負として「400ml献血をできるようになる」を掲げてから、冬を越し春が過ぎ夏が終わ………なかなか終わらないな……8月も終わろうとしている。記事を書いた頃の体重からは1kgぐらい増えたところだ。 夏バテなんてどこ吹く風とばかりに、ここ数週間は私の…
Tiny C Cmpiler 0.9.23のインストール ISO C99に対応した、コンパクトでコンパイル速度が大変速いコンパイラーです。生成されたバイナリーの実行速度はgccよりも若干劣るようです。 LGPLライセンスのもとで、フリーで入手して使用することができます。 http://b2c-1.rocketbeach.com/~bitwalk/tcc_intro.html TinyCC について http://www.nminoru.jp/~nminoru/programming/x86-cc.html x86 で動作する C/C++ コンパイラ 同じ名前ですが、つぎのtiny Cコンパイラは学習用のサブセットです。 http://www.watalab.cs.uec.ac.jp/tinyCabs.html tiny C コンパイラの概要 Tincy C Compilerの入手方法 つぎ
Michael E. Lee Senior Programmer/Analyst Ontek Corporation 22941 Mill Creek Road Laguna Hills, CA 92653 USA Abstract: A substantial portion of a knowledge worker's life may be spent waiting for a computer program to produce output. Users and organizations control their wait time by purchasing faster computers, adding memory, or using faster network connections. Developers of application progra
[up] | news license installation usage bugs features Is your program large and complex? Are you tired of Greenspunning? Now, in only 500 lines, here we have an informally-specified bug-ridden implementation of Common Lisp, ready to meet your needs. -- Christophe Rhodes Lisp500 is a 500-line implementation of an informally specified dialect of Lisp. It attempts to be not too bug-ridden. Unfortunate
「Code Reading―オープンソースから学ぶソフトウェア開発技法」(毎日コミュニケーションズ発行,写真1)という本があります。私はこの本の監訳者ですから,やや自画自賛になってしまいますが,ソースコードの読み方を主題にした本はほかにはあまりありません。技法からツール,データ構造,アーキテクチャ,さらには実際にコードを読んで利用する実例まで紹介している網羅的で良い本だと思います。 この本の「はじめに」で「達人プログラマー」として知られるDave Thomas氏は以下のように書いています。 他人の作品を読まなかった偉大な作家,他人の筆づかいを研究しなかった偉大な画家,同僚の肩越しに技を盗まなかった腕のよい外科医,副操縦席で実地の経験を積まなかった767機長――果たして,そんな人たちが本当にいるのでしょうか? たしかにその通りです。ソフトウエア以外の領域では修行することとはすなわち,他の人の
仮想世界と現実世界を融合する技術は,拡張現実感(Augmented Reality:AR)と呼ばれています. おおげさな言い方をするとARは現実の世界に情報を「上書き」することができる技術です. アニメや映画にでてくる「電脳」を想像してみてください. 手のひらの上に3Dキャラクタを表示したり,現実の世界でデジタル・データに触れてみたり… そんな魔法のような技術です. ARToolKitは,ARアプリケーションの実装を手助けするC言語用のライブラリです. ARToolKitを使うと,紙に印刷されたパターンをカメラで読み取り, その上に3Dオブジェクトをオーバーレイ表示するアプリケーションが簡単に作れます. 本来は非常に敷居の高い技術なのですが,このライブラリは「難しい部分」の処理を 全てやってくれます. …というわけで今回はARToolKitを使って近未来の技術 「拡張現実感」 を体験してま
.久しぶりに釣りがしたくなったので MoE アカウントを取り直した。結果的に週末で釣りスキル 71 くらいになった。 .昔は海ヘビの失敗上げで地道に上げるか、地下水路でタゲから逃げ回ってエイ釣って上げるしかなかったような気がするんだが、今は 40 くらいまではタイタンの生簀で簡単に上がるし(これは序盤には良い銭稼ぎにもなる)、そこから先はジェイドの鮫で簡単に上がる。 .半角カナ - SJIS はそのままにしといて EUC-JP の方だけを修正すれば、特に困ることはないでしょう。 .将来的に困るとすれば EUC-JP と SJIS の ctype 定義を一つにまとめたい場合ですが、これは単に charmap 導入してキャラクタ名で抽象化しろという話だと思います。 .TODIGIT 不用論 - そういえばそうね。消しちゃっていいのかな。少なくとも NetBSD では参照しているように見えない。
できた。試行錯誤している内に無駄に凝った作りになってしまった。ここまで来ると完全に手段が目的と化しているな。 fib.h: #ifndef __FIB_H__ #define __FIB_H__ typedef void (*destructor_t)(); typedef struct object { int ref_count; size_t size; destructor_t destructor; } *object_t; void addRef(object_t obj); void release(object_t obj); object_t newObject(size_t size, destructor_t destructor); void deleteObject(object_t obj); typedef void* (*func_t)(); typedef
Cで継続渡しを書いてから、もう少しがんばれば末尾最適化もできそうだということに気付いて、やってみたらなんとかできた。しかも、絶対にアセンブラが必要だろうと思っていたんだけど結果的にはアセンブラに頼らずにCの範囲内で実現することができた。さすが高級アセンブラ。 fib2.c #include <stdio.h> #include <stdlib.h> #include "obj.h" int main(int argc, char *argv[]) { // 汎用レジスタのつもり void *r1; void *r2; closure_t c = newClosure(0); c->func = (func_t) &&fib_cps_0; for (int i = 1; i < 10; i++) { addRef((object_t) c); // printf("Fibonacci(%d)
「偽札対応済み」って書いてある両替機。 川口市立中央図書館…本屋の上にある図書館。に行ってきた。特に何もないけど。あと、マイコンショップ川口つぶれてた。 ある程度能力を持ってるなら、成果を残せるか残せないかは自信を持ってるか持ってないかの違いだけかもしれないというような話。 最近思うのだけど、使えない奴(例えば、僕のような)の特徴として、「どうせ自分が何をどうやっても、何もどうにもならない」的な思考があると思う。 例えば、上の一行で言うと、「使えない奴(例えば僕」とか、そういったような思考。 こういった思考は、いったん根付いてしまうと、循環するので、なかなかやめられない。「どうせ自分は何もできないんだ→何もできないから何もやらない→何も成果を残せない→どうせ自分は何もできないんだ」とかいった感じで。 矯正しようと思っても、「いや、こういう性格だから、矯正は無理だし。」と、いう思考になってし
Object-oriented Programming with Ansi-C Posted: Fri Mar 23, 2007 7:13 am by ndaru Object-oriented Programming with Ansi-C Author : Axel-Tobias Schreiner, Computer Science Department, Rochester Institute of Technology Publication Date : October 1993 From the Preface: Object-oriented programming is the current cure-all although it has been around for much more then ten years. At the core, ther
注意 : このページはC言語初心者向けではなく、組込み開発初心者を対象としています。理解には、C言語に関する十分な知識 および 組込み機器開発に関する多少の知識を必要とします。 このページは、これまで避けて通ってきたC言語の嫌な部分と直面し、C言語プログラマとしての自立を促すモノです。C言語の本質が知りたい方や、ちゃんとした資料をお探しの方はお勧めしません。また、「初めてのC言語」というタイトルは、「C言語を初めてやる」という意味ではありませんので、C言語がわからない方はご遠慮ください。ターゲットはIntelでもWindowsでもLinuxでもありません。聞いたこともないようなプロセッサが相手です。 スポラディック連載なので、作者にひまが出来次第追加していきます。 第一部 - 初めてのHelloWorld この章では こんなこと やります
はっきんぐ・うぃず・ぐにゅー GNU を使って開発しようっていう不定期な連載です。 いつ書かれるかも分からないし、いつ終わるかも、いつ改訂されるかも不明です。 もちろん、ここは全然公式なページじゃありません。 嘘は出来る限り書かないように努力しますが、絶対信頼してはいけません。 これらは、かなり昔に私自身が執筆していた記事を掘り返した物です。 古くなって、現状に当てはまらない部分を更新していますが、十分ではないかもしれません。 第一回 GNU C の書き方 (1) 第二回 GNU C の書き方 (2) 第三回 GNU C の書き方 (3) 第四回 GNU Make の初歩 第五回 GNU Automake の概要 第六回 GNU Autoconf (1) 第七回 GNU Autoconf (2) 第十二回までありますよ...
What is KMyacc? kmyaccはyaccやbisonと同じLALRパーサージェネレータです。 yaccと互換性があり、生成される表が小さく、ホスト言語としてC以外にJava, JavaScript,Perlでも使うことができます。 News 2006.02.28: きむらさんによるWindows VC++用のパッチ 2006.02.16: version 4.1.4: Java, Perl, JavaScript版のパーサードラ イバのバグを修正。このバグは、ある種の文法で構文解析に失敗し実行時エラー を起こすというもの。C版にはこのバグはない。 2005.10.07: version 4.1.3: Java版に yyparsererror (YYERROR) 及びスタックの自動伸張を実装 2005.07.10: Demonstration program 2005.07.0
Posted by nanki Mon, 12 Mar 2007 05:14:00 GMT Rubyコード中にCのコードを埋め込めるRubyInlineを使って、 ボトルネックとなっているメソッドを置き換える。 # rubyinline.rb def benchmark s = "a" * 10000 test = Test.new t = Time.now 1000.times{test.string_xor(s, s)} Time.now - t end class Test def string_xor(str1, str2) result = str1.clone str1.length.times do |i| result[i] ^= str2[i] end result end end b1 = benchmark begin require 'inline' class T
In math, a unary operation is an operation with a single input. In Ruby, a unary operator is an operator which only takes a single ‘argument’ in the form of a receiver. For example, the – on -5 or ! on !true. In contrast, a binary operator, such as in 2 + 3, deals with two arguments. Here, 2 and 3 (which become one receiver and one argument in a method call to +). Ruby only has a handful of unary
よく知らないプロジェクトのソースコードは、プログラムの構造や、そのプロジェクト独特の関数、クラス、ユニットの意味を知らないまま見ていくことになる。タグを使ってそれぞれの定義を参照できるものの、すべての定義をひとつひとつ検分していくだけで全体像を把握するのは難しい。こうした馴染みのないソースコードの解析に役立つのが、CscopeとSilentBobという2つのツールだ。 両ツールは、シンボル定義の検索、特定の関数が使われている箇所や関数間の呼び出し関係の確認、コードベース全体からの文字列やパターンの検索に活用できる。また、ソースファイル群に対して手作業でgrepをかけるよりも、目的とする検索を迅速に行えるため、時間の節約にもなる。 Cscopeを使用する Cscopeはよく知られたユーティリティで、最近のディストリビューションにはたいてい含まれている。もともとCscopeはC言語のコードで使
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く