タグ

cに関するso_ra_toのブックマーク (16)

  • わずか500行のCソースコードで作られたCコンパイラ「CC500」 | ソフトアンテナ

    Cコンパイラといえばとてつもなく複雑なプログラムというイメージがあります。ところが、このCコンパイラを(サブセットとはいえ)わずか500行ほどのCのソースコードで実現した「CC500」名付けられたプログラムが公開されています。 ソースコードは可読性を維持するためにつけられた空行やコメントを含めると、実際は750行ほどになるそうですが、それでもこれだけコンパクトなソースコードで実行可能なELFバイナリ(Linux用のバイナリ)を生成できるのは興味深いのではないでしょうか。 以下実際にLinuxでコンパイルしてみました。 自己コンパイルできる このコンパイラはC言語のサブセットで、自分自身のソースコードをコンパイルできるところがおもしろいところです。まず「cc500_1」という実行ファイルを生成します。 gcc cc500.c -o cc500_1 生成された実行ファイル「cc500_1」を使

    わずか500行のCソースコードで作られたCコンパイラ「CC500」 | ソフトアンテナ
  • http://blog.monoweb.info/blog/2012/07/14/c99-array/

    so_ra_to
    so_ra_to 2013/07/31
  • mrubyでmemsetやmemcpyが少ない理由.

    リンク先には,次のような記述があります. Looks like on ARM architecture, GCC and other compilers may mis-optimize memcpy and assume certain memory alignment, whichcreates errors on unaligned access. To avoid this, either don't use memcpy, or, cast the pointers to char* to disable this misoptimization. More details here: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka3934.html 意訳) ARM みたいに memcpy で

    mrubyでmemsetやmemcpyが少ない理由.
  • 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 で書くとしたら、やはり目的に特化したデータ構造を使うことで、速度と

  • オーダーを極める思考法

    プログラムの実行に掛かる時間を把握しておくのは、プログラミングを行う上で基的な注意点です。今回は、計算量のオーダーについて学びながら、TopCoderのMedium問題を考えてみましょう。 プログラムの実行時間 業務としてプログラミングをされている方には釈迦に説法かもしれませんが、プログラムの実行に掛かる時間を把握しておくのは、プログラミングを行う上で基的な注意点です。そしてこれは、TopCoderなどのコンテストでプログラムを組む際にもよく当てはまります。通常、こうしたことは感覚的に理解している方がほとんどだと思いますが、具体的にどれくらいのループを回すと何秒掛かる、といった基準を持っている人は少ないのではないでしょうか? 非常に基的なことですが、プログラムの実行時間に関して再確認しておきたいと思います。 TopCoderの制限に関して TopCoderでは、実行時間およびメモリ使

    オーダーを極める思考法
  • C言語〜ゲームプログラミングの館〜

    ※ 更新履歴 ※ 2017/11/03 ・sp.8章追加 2017/10/11 ・配布しているプロジェクトをVisualStudio2017に更新(それにまつわる説明も更新) 2015/09/12 ・s.3章 Androidのようなボタンの作り方(C++) 追加 2013/09/02 ・VisualC++2012のプロジェクトを追加 2013/02/23 ・d3.5章追加 2013/02/20 ・d3.1章追加 ・d3.2章追加 ・d3.3章追加 ・d3.4章追加 2013/01/19 ・sp3章追加 ・sp4章追加 ・sp5章追加 ・sp6章追加 ・sp7章追加 2012/06/23 ・3.14章追加 2012/06/16 ・sp1節追加 ・sp2節追加 2012/02/11 ・d6節追加 2011/11/10 ・h11章追加 2011/10/31 ・s1章追加 ・s2章追加 2011/

  • 2NT -無料ブログ 無料ホームページ 等-

    so_ra_to
    so_ra_to 2009/02/02
  • 「攻殻機動隊」「電脳コイル」の世界を実現! - ARToolKitを使った拡張現実感プログラミング

    仮想世界と現実世界を融合する技術は,拡張現実感(Augmented Reality:AR)と呼ばれています. おおげさな言い方をするとARは現実の世界に情報を「上書き」することができる技術です. アニメや映画にでてくる「電脳」を想像してみてください. 手のひらの上に3Dキャラクタを表示したり,現実の世界でデジタル・データに触れてみたり… そんな魔法のような技術です. ARToolKitは,ARアプリケーションの実装を手助けするC言語用のライブラリです. ARToolKitを使うと,紙に印刷されたパターンをカメラで読み取り, その上に3Dオブジェクトをオーバーレイ表示するアプリケーションが簡単に作れます. 来は非常に敷居の高い技術なのですが,このライブラリは「難しい部分」の処理を 全てやってくれます. …というわけで今回はARToolKitを使って近未来の技術 「拡張現実感」 を体験してま

  • Graphviz チュートリアル

    Graphviz というツールは、 「DOT 言語」という言語で書かれたグラフ表現を GIF や PNG などのファイルフォーマットに変換してくれるシステムです。 家のホームページは http://www.graphviz.org/ です。 ここでは、Graphviz のインストールと使い方についてまとめてみました。 なお、ここでインストール/使用する Graphviz は version 2.4(2005-08-01 現在)です。 また、インストール先の環境は Cygwin です。 ダウンロードとインストール 簡単なサンプル グラフ全体の属性 ノードの属性 エッジの属性 その他の事項 レコード サブグラフ 無向グラフ 形の一覧 トップへ ↑

  • C言語~シューティングゲームの館~

    ↓この館の内容はこちらにリニューアルしました↓ シューティングゲームの館はご要望で残しておりますが、この館で学ばず、 龍神録プログラミングの館で勉強される事をお勧めします。 もうここに書いてある内容についてはお答えする事が出来ません。 掲示板を利用することなく、どうしてもここを見たいという方のみご覧ください。 それ以外の方は、ゲームプログラミングの館、龍神録プログラミングの館をご覧ください。 シューティングゲームの館 2006 / 10 / 22 更新 ここでは、DXライブラリとC言語で簡単なシューティングゲームを作るスキルをつけていきます。 解説は「ゲームプログラミングの館」の入門レベルの知識を前提に行います。 ここは、ゲーム製作の経験の無い方に少しでもゲーム製作の面白さを経験してもらおうと製作した館です。 効率的、汎用的、拡張的であることより、わかりやすいことを重視しているので

  • BohYoh.com【C言語講座】標準ライブラリ

    プログラミング言語である標準C(ANSI/ISO/JI)で提供されている全標準ライブラリの完全かつ正確な仕様をヘッダ別に紹介するページです。

    so_ra_to
    so_ra_to 2008/08/26
  • ありがちなC言語プログラムの間違い

    ここでは、C言語によるプログラミングでありがちな間違いを紹介します。 C言語によるプログラミングで犯しやすい間違いは、 C言語 FAQ 日語訳 や C言語のよくある間違い に数多くの例が紹介されていますので、一度、目を通してみることをお勧めします。 ここでは、これらのページに見当たらなかった間違いの例を紹介します。 なお、C言語だけでなく、基的にC++言語でも同じことが言えます。

    so_ra_to
    so_ra_to 2008/07/30
  • Cで作られた軽量なバグトラッキングシステム·Starbug1 MOONGIFT

    Webサービスを開発していて、バグトラッキングシステム(BTS)を導入することになった。開発用サーバは性能がいいが、BTSを入れるわけにはいかない。余っているコンピュータは古いものばかりだ。これに最近の重厚なBTSを入れてももっさりした動作になってしまうことだろう。 ダッシュボード そんなときに使ってみたいのがこのソフトウェアだ。軽量な動作でストレスフリーで使いこなせるだろう。 今回紹介するオープンソース・ソフトウェアはStarbug1、WebベースのBTSだ。 Starbug1はC言語で作られたCGIであり、軽量な動作が売りだ。別途データベースは不要で(SQLiteを利用)動作する。日語のソフトウェアであり、表示も内容にも日語が利用できるのが嬉しい点だ。 チケット情報 シンプルながら必要な機能はきちんと抑えられている。管理画面、RSSフィード、統計情報、検索、チケット一覧や編集機能な

    Cで作られた軽量なバグトラッキングシステム·Starbug1 MOONGIFT
    so_ra_to
    so_ra_to 2008/06/13
  • プログラミング - [物理のかぎしっぽ]

    各種プログラミング言語についての情報です.LinuxやCygwinなどのコマンドライン環境を前提としているものが多いです.プログラミングの全体的な解説というよりも,なにかプログラムを組む際にプラスαになるものを目指しています.

  • 画像処理のプログラム

    2003年7月2日更新 「色で抜き出す」2004年6月9日更新 画像処理のための準備(BMPファイルの入出力) このリンクをクリックするとファイルの一覧が表示されます. 自分のパソコンに適当なフォルダーを作成して,そこにすべてのファイルをダウンロードしてください. プログラムの実行は,MS-DOSで行います. t-bmp.exeは実行ファイルなので,MS-DOSで,t-bmpを実行すればプログラムが動きます. t-bmpは,(入力BMPファイル)を読み込んで,画像データを少し変換(白黒濃淡画像化)して,(出力BMPファイル)を出力します. BMPファイルは「ペイント」で表示できます. 物体抽出(2値化) t-thresh.c:しきい値を指定して白黒濃淡画像を2値化するプログラム t-histg.c:ヒストグラムを求めるプログラム 輪郭(エッジ)抽出 t-edge.c:1次微分,2次微分によ

  • TEOライブラリによる画像処理プログラミングガイド

    TEOライブラリによる画像処理プログラミングガイド Copyright © 2002 by 菅谷 保之 <sugaya@suri.it.okayama-u.ac.jp> 2002/10/06 公開 目次 はじめに 一般的な画像の構造 画像フォーマット TEO画像フォーマット TEO画像フォーマットの導入 TEO画像フォーマットの詳細 TEO画像の圧縮 TEOライブラリ TEOライブラリの導入 TEOライブラリで定義された構造体・データ型 関数リファレンス 環境変数 TEOプログラミング入門 画像の入出力 コンパイル方法 デバッグモード エラー処理 実践TEOプログラミング 構造編 アルゴリズム編 発展編 次のページへ >>> TEO Image Library Programming Guide

  • 1