タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

Programmingとcompilerとcに関するjjzakのブックマーク (36)

  • Aktuelle News, Schlagzeilen und Berichte aus aller Welt

  • ホワット・ア・ワンダフル・ワールド Effective assembly language : 退避しなければならないレジスタを知りたい時は setjmp のソースを読もう.

    kosaki さんからコメントをいただきました. >> 壊しちゃいけないのが ebx, esi, edi, ebpとセグメントレジスタ ちなみに、壊しちゃいけないレジスタを調べるいちばんいい方法はsetjmpのソースを読むこと。 CPUによらず、こわしちゃいけないレジスタは保存してくれよるので、不慣れなCPUの時は参考になりますえ なるほど.というわけで,さっそく glibc-2.4 のソースを落としてきて,とりあえず glibc-2.4\sysdeps\i386\setjmp.S を開いてみた. /* Save registers. */ movl %ebx, (JB_BX*4)(%eax) movl %esi, (JB_SI*4)(%eax) movl %edi, (JB_DI*4)(%eax) /* スタックポインタ保存 */ leal JMPBUF(%esp), %ecx /* S

  • GCC Error Messages

    This page has been converted from a Wiki formatted article. If I’ve missed anything in the conversion process, please tell. Sometimes GCC emits something that can be described as Haiku poems – and you have no clue as to what it really is complaining about. This page is a collection of such gems, their meaning in English and how to solve the problem. If you run into an error that you feel belongs h

    GCC Error Messages
  • END OF LINE

    Update (2012) I've proposed a new project called qcc that's a sequel to this. I think leveraging QEMU's code generation work is a much better approach than trying to reinvent support for every possible target. I also I have permission from Fabrice Bellard to use his code under BSD license terms in the new project, which is another reason not to bother with the "MOB branch" of unmaintained drive-by

  • 産総研 RCIS: Fail-Safe C: 安全なC言語コンパイラ

    Fail-Safe C とは Fail-Safe C は、完全な ANSI-C に対するメモリの安全性を保証する実装です。Fail-Safe C は、完全な ANSI-C 規格への準拠 (キャストや共用体を含む) を実現しながら、実行状態の破壊や乗っ取りに繋がる全ての危険な操作を検出し防止します。また、Fail-Safe C は、様々な「dirty trick」――必ずしも ANSI-C で厳密な意味では認められないが、広く一般のプログラマが利用している様々な記述手法――を、安全性を壊さない範囲でサポートしています。 Fail-Safe C では、コンパイル時や実行時の様々な最適化手法を組み合わせることで、実行時検査のオーバーヘッドの削減を行っています。このコンパイラを用いることでプログラマは、既存のプログラムを大幅に書き換えたり別の言語に移植したりすることなく、そのままプログラムを安全に

  • 社会の片隅から、ひとりごと:楽天ブログ

    エラーにより、アクションを達成できませんでした。下記より再度ログインの上、改めてミッションに参加してください。

    社会の片隅から、ひとりごと:楽天ブログ
  • 株式会社エス・スリー・フォー » State Map Compiler

    このState Mapはゲートの制御モデルを表現しています。ゲートは2つの状態Locked(閉じている)とUnlocked(開いている)をもち、2つのイベントCoinとPassを受け付けます。 Coinイベント 門番が入場料を受け取った Passイベント 誰かがゲートを通過した また、ゲートには4つのアクションが定義されています。 Unlock ゲートを開ける Lock ゲートを閉じる Alarm 警報を鳴らす ThankYou 余分なお金をもらったことに礼を言う このState Mapの読み方は以下のとおりです: ゲートがLocked状態のとき: Coinイベントが発生したら、Unlocked状態に遷移してUnlockアクションを起こす。 Passイベントが発生したら、閉じているゲートを無理矢理誰かが通過したことに対しAlarmアクションを起こす ゲートがUnlocked状態のとき: P

  • ¢°¨«°¢(£°«) - val it : α → α = fun

    jjzak
    jjzak 2007/09/24
    gccのgoto拡張l
  • 初めてのC言語 - 第9回 リンカスクリプト

    目的 メモリマップを自分で決めて、リンカスクリプトを(途中まで)記述する メモリマップ これまで普通にC言語を使ってきたときには、OSがありました。第1回の時にもプログラムを動かしていたのはLinuxでした。 プログラムはOSによって、様々なリソース割当を行われます。CPU時間もそのひとつですが、最も重要なのがメモリ割当です。実際にプログラムが使うメモリを予約して、その空間に適切な形でプログラムを読出し、プログラムを実行します。必要に応じてアドレス変換やメモリ保護なども行います。 しかし、この「始めてのC言語」ではOSはありません。メモリ割当は自分で行う必要があります。このメモリ割当を行うために必要なのがリンカスクリプトです。 リンカスクリプトを作る前に、ターゲットコンピュータのメモリマップを知る必要があります。メモリマップとは、どのアドレスに何が置いてあるかの表みたいなものです。今回対象

  • FrontPage - Tech Sinby

    Sinby の技術j情報を集めるサイト。wiki を使っていますが、外部の人は更新できません。あしからず。 組み込みシステム gcc を使う ISP1362 を使う SH Linux i.MX21のスタートアップ・ルーチン CSIDEを使う パートナーを使う [Long Tail Sally] nine の情報 WebKit C++を極める GAIO のコンパイラを使う を読む 「C++の設計と進化」を読む コンパイラ・コンパイラ lex(flex) lex を使う lex と strdup を使う C++ から lex を使う lex と string を使う yacc(bison) yacc を使う yacc と C++ を使う gnumanuals bison 1.28: flex 2.5.4: SMC 電話の基礎知識 Careless Lisper PerlでWeb構築 Grap

  • Kazuho@Cybozu Labs: Cインタプリタ アーカイブ

    2006年07月13日 Collatz 予想 キミならどう書く 2.0 - ROUND 2 - について。 いきなり brainf*ck で書く元気はないので、とりあえず C に起こしてみました。bf 化をにらみつつコード短縮をかねてループや判定条件を 0 基準に変更していったら、こんな感じになりました。 続きを読む "Collatz 予想" 投稿者 kazuho : 2006年07月13日 11:15 | トラックバック (0) 2006年06月26日 C で tail に queue は不要 なんか C で tail を書くのが流行っているらしいので参戦します。 はこべさんや弾さんの例だと、動的なデータ構造を使っているが、これは牛刀だと思いました。少なくとも、djb 先生のお好きな回答でないことは確かです (^^; C で書くとしたら、やはり目的に特化したデータ構造を使うことで、速度と

  • はてなブログ | 無料ブログを作成しよう

    【献血デビュー】体重が少し足りず400ml献血はできなくとも、献血ルームでの成分献血ならできたぞ、という話 いきさつ 2025年の抱負として「400ml献血をできるようになる」を掲げてから、冬を越し春が過ぎ夏が終わ………なかなか終わらないな……8月も終わろうとしている。記事を書いた頃の体重からは1kgぐらい増えたところだ。 夏バテなんてどこ吹く風とばかりに、ここ数週間は私の…

    はてなブログ | 無料ブログを作成しよう
    jjzak
    jjzak 2007/07/26
    Tiny c compiler
  • Optimization of Computer Programs in C

    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

  • Lisp500

    [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

    jjzak
    jjzak 2007/07/05
    500行のC言語で書かれたLisp実装「Lisp500」
  • 某日記(後期)

    .久しぶりに釣りがしたくなったので MoE アカウントを取り直した。結果的に週末で釣りスキル 71 くらいになった。 .昔は海ヘビの失敗上げで地道に上げるか、地下水路でタゲから逃げ回ってエイ釣って上げるしかなかったような気がするんだが、今は 40 くらいまではタイタンの生簀で簡単に上がるし(これは序盤には良い銭稼ぎにもなる)、そこから先はジェイドの鮫で簡単に上がる。 .半角カナ - SJIS はそのままにしといて EUC-JP の方だけを修正すれば、特に困ることはないでしょう。 .将来的に困るとすれば EUC-JP と SJIS の ctype 定義を一つにまとめたい場合ですが、これは単に charmap 導入してキャラクタ名で抽象化しろという話だと思います。 .TODIGIT 不用論 - そういえばそうね。消しちゃっていいのかな。少なくとも NetBSD では参照しているように見えない。

    jjzak
    jjzak 2007/05/31
    cpp マニアックス
  • J (2006-08-08)堕落したCプログラマのレベル10

    「偽札対応済み」って書いてある両替機。 川口市立中央図書館屋の上にある図書館。に行ってきた。特に何もないけど。あと、マイコンショップ川口つぶれてた。 ある程度能力を持ってるなら、成果を残せるか残せないかは自信を持ってるか持ってないかの違いだけかもしれないというような話。 最近思うのだけど、使えない奴(例えば、僕のような)の特徴として、「どうせ自分が何をどうやっても、何もどうにもならない」的な思考があると思う。 例えば、上の一行で言うと、「使えない奴(例えば僕」とか、そういったような思考。 こういった思考は、いったん根付いてしまうと、循環するので、なかなかやめられない。「どうせ自分は何もできないんだ→何もできないから何もやらない→何も成果を残せない→どうせ自分は何もできないんだ」とかいった感じで。 矯正しようと思っても、「いや、こういう性格だから、矯正は無理だし。」と、いう思考になってし

    J (2006-08-08)堕落したCプログラマのレベル10
    jjzak
    jjzak 2007/04/09
    Cでクロージャ
  • HackingWithGnu - enbug.org

    はっきんぐ・うぃず・ぐにゅー GNU を使って開発しようっていう不定期な連載です。 いつ書かれるかも分からないし、いつ終わるかも、いつ改訂されるかも不明です。 もちろん、ここは全然公式なページじゃありません。 嘘は出来る限り書かないように努力しますが、絶対信頼してはいけません。 これらは、かなり昔に私自身が執筆していた記事を掘り返した物です。 古くなって、現状に当てはまらない部分を更新していますが、十分ではないかもしれません。 第一回 GNU C の書き方 (1) 第二回 GNU C の書き方 (2) 第三回 GNU C の書き方 (3) 第四回 GNU Make の初歩 第五回 GNU Automake の概要 第六回 GNU Autoconf (1) 第七回 GNU Autoconf (2) 第十二回までありますよ...

    jjzak
    jjzak 2007/03/23
    はっきんぐ・うぃず・ぐにゅー
  • kmyacc - 多言語対応LALRパーサー生成系

    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

  • J

    Cで汎用ライブラリをつくってると、void*の嵐になって型安全が無くなると思う。 ちょっとした手間で、それをなんとかする話。 struct varray { int nelem; void *values; }; #define VSET( t, a, i, e ) (((t*)a##t.values)[i] = e) #define VDECL( t, name ) struct varray name##tこんなふうにして。 int main() { VDECL( int, a ); VSET( int, a, 0, 4 ); }こんなふうにする。 変数宣言がちょっとキモくなるのと、配列アクセスが、キモくなる。のと、配列アクセスするときに型の名前がいる。 のだけど、 int main() { VDECL( int, a ); VSET( float, a, 0, 4.0 ); }こうい

    J
    jjzak
    jjzak 2007/01/19
    Cで型安全可変長配列ライブラリをつくる
  • OSが起動する以前のスタートアップルーチン(1/4) ― @IT

    今岡通博氏による、組み込み開発に新しく関わることになった読者に向けた組み込み用語解説の連載コラム。第16回は、微分積分の質に迫るシリーズの一環として「ベクタースキャンディスプレイ」について解説する。