タグ

Cに関するhomajuのブックマーク (14)

  • C言語パズル集:Cにまつわる興味深い問題あれこれ | POSTD

    ビジターの皆さんへ C言語に関心を寄せていただきありがとうございます。このページは、C言語の面白い問題、パズルのリストです。これまでに友人たちからeメールで送ってもらったり、で読んだり、インターネットで見つけたり、あるいは自分でC言語でコーディングしていて気づいたりしたプログラムを集めました。 多くのプログラムは、コンパイル、実行され、その振る舞いを示すものです。問題は大まかに次のカテゴリに分けられます。 一般的なタイポエラー。C言語プログラマが頻繁に犯すミスであり、かつ追跡が困難。 初見では非常に理解しがたい小さなプログラム。これらの問題は、他人が書いた優れたコードを読み解く良い訓練になります。 また、全てにGnu/Linux/gccを使っています。掲載順は、それぞれの難易度とは関係ありません。問題解決の助けが必要な場合は、気軽に私に問い合わせてください。連絡先は こちら です。また、

    C言語パズル集:Cにまつわる興味深い問題あれこれ | POSTD
  • 初めてのC言語で『30日でできる!OS自作入門』の通りに初めてのOSを作ってみた - 三等兵

    30日でできる! OS自作入門 出版社 : 毎日コミュニケーションズ 発行日 : 2006/3/1 良いです。アカデミックの匂いが良い意味で全くしない。その上での実践的なは日語で他に無いと思います。ガチムチアカデミックの批判にあえて真っ向勝負してるような意欲作です。 正しい知識だの用語だのそんなもんはどうでもいいから手を動かしてやってまえみたいな感じで。こういうのは頭いい人たちから批判されやすいですね。俗物な私にはぴったりでしたが。 書はWindows用のサンプルしかないんですがMac用に整えたので、それ公開するついでに思ったことつらつらと書いときます。 開発環境 Mac サンプルがWindows用なのでいろいろMac仕様にしなきゃいけない(後述) テキストエディタ EmacsだのVimだのなんでもいいので適当に用意 バイナリエディタ Macだと0xEDが良い http://www

    初めてのC言語で『30日でできる!OS自作入門』の通りに初めてのOSを作ってみた - 三等兵
  • 総合目次 - 苦しんで覚えるC言語

    苦Cの内容の転載などは自由ですが、苦Cからの引用であることを明記してください。 (どこかに「苦Cより」と書かれていればOKです。) 学校や会社などで生徒(新入社員)へのテキストとして使用することも自由です。 その際、内容を修正したり、印刷して配布するのも自由です。 サイトについて 苦しんで覚えるC言語(苦C)は C言語入門サイトの決定版です。 C言語の基機能を体系立てて解説しており、 市販書籍と同等以上の完成度です。

    総合目次 - 苦しんで覚えるC言語
    homaju
    homaju 2010/11/22
    iPhoneアプリを作れるようになった人が参考にしたサイト
  • C 言語ポインタ基礎中の基礎の図解 - Diary Blog of Dary

    C 言語のポインタについての基礎中の基礎について解説します。*1 ポインタに入る前に、先に通常の変数宣言について解説する必要があるので解説します。 例えば int 型の変数を使いたい場合は以下の用に宣言します。 int x = 10; この用に記述したとき、下の図のようにメモリ領域に "x" という名前で確保されます。 アドレスが16進表記だったり 4 ずつ増加しているのは特に深い意味はありません。要するにメモリの領域には番号が振ってあるという事がポイントです。 今後、この変数は x という名前で使用できますね。例えば x = 20; と、記述した場合、メモリ領域は以下のような感じになります。 コンピュータではメモリにアクセスするにはアドレスを指定する必要があるのですが、そこに "x" という名前を付けて使えるようになるわけです。 ポイント 変数を宣言すると、メモリに領域が確保される。 以

    C 言語ポインタ基礎中の基礎の図解 - Diary Blog of Dary
    homaju
    homaju 2010/11/09
    ポインタの基礎について
  • Cプログラミング診断室 - 藤原博文

    はじめに 開院準備 昔むかし/ レベル差/ 教育/ ネットワーク/ 情報集め/ 隠すことについて/ プログラムコンテスト/ ドキュメント/ 楽するように/ 手抜きと下手の違い/ 開院 第1部 外来 第1章 普通の初心者 最初から充実した(!?)プログラムが登場 関数を短くし、コメントを改善する 上手になる秘訣/ プログラムの紹介/ 何だ、このプログラムは!!/ 短くするには/ コメントについて/ 無駄な努力をやめよう/ 名前/ 気になる個所/ 修正プログラム/ 課題/ まとめ 第2章 これでもプロ 売りものであるにもかかわらず、超きたない! 構造的な欠陥の指摘〜引数、ポインタの活用 プログラムの紹介/ 「超」基的問題点/ 関数分解/ 構造的欠陥/ 引数を使おう/ ポインタ/ その他/ まとめ(修正プログラム) 第3章 上司が問題 まさに驚異的なプログラムの見というべき 内容の修正から、

    homaju
    homaju 2010/03/16
    Cプログラミング診断室の全文公開
  • How to Debug C Program using gdb in 6 Simple Steps

    Earlier we discussed the basics of how to write and compile a C program with C Hello World Program. In this article, let us discuss how to debug a c program using gdb debugger in 6 simple steps. Write a sample C program with errors for debugging purpose To learn C program debugging, let us create the following C program that calculates and prints the factorial of a number. However this C program c

    homaju
    homaju 2010/03/16
    gdbの使い方。viでCプログラムを作り、その後gdbを使うやり方について説明している
  • C/C++ 迷信集 | 株式会社きじねこ

    C/C++ を使うプログラマは大勢います。しかし、その多くは OJT を通して言語を学んだのではないでしょうか? 実はそこに大きな落とし穴があります。 コンピュータや工学のことをよく知らない人たちは、時代の先端を歩むプログラマには「迷信」など無関係だと信じて疑わないかも知れません。しかし、迷信や誤解はどんな世界にも常に存在しています。 というわけで、ここでは C/C++ にまつわる迷信、誤解、よくある間違いを採り上げていきます。非常に後ろ向きな企画ですが、暇つぶし気分転換に読んでみてください。もしかすると、ご自身が迷信にとらわれていたことに気付くかもしれません。 追記(2009/03/15) このコーナーでは、C/C++ にまつわる迷信、誤解、よくある間違いを扱っています。決して「迷信」だけではないのですが、タイトルにはすべて[迷信]を付けています。 これは、主に検索エンジンでタイトルを見

  • Big Sky :: C++で軽量Webサーバ書いた。

    書いたといっても結構前からあったのですが、いらん所を削ぎ落として軽量Webサーバとして仕立て上げました。 軽量とは言えど、CGIを使って結構色々動きます。 例えば、ソースアーカイブを解凍したらCGIがあって、apacheから見える場所にコピーして...とか面倒くさかったりしますよね。 おれは今すぐWebサーバを起動したいんだ!そして今いるディレクトリのファイルをWebサーバからサーブしたいんだー! って事ないですか?blogソフトウェアをダウンロードして今すぐ試したいけど、apacheインストールされてなかった...とか悲しすぎます。 今回紹介する"tinytinyhttpd"(tthttpd)はそんな、小さい様で大きな問題を解決出来るかもしれないソフトウェアです。 mattn's tinytinyhttpd at master - GitHub tiny tiny httpd http:

    Big Sky :: C++で軽量Webサーバ書いた。
    homaju
    homaju 2009/07/30
    軽量Webサーバインストール不要
  • ソースコードリーディング(head,tailコマンド編)

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、Yahoo!ショッピング担当の吉野です。 今回はタイトルの通り、headコマンドとtailコマンドのソースコードを読んでいきたいと思います。 ■はじめに 皆さんご存じの通り、headコマンドはファイルの先頭からn行(バイト)を出力し、 tailコマンドはファイルの末尾からn行(バイト)を出力するコマンドです。 ほかにもパイプの入力に使ったり、[tail -f]でログファイルの出力監視に使ったりと、 UNIXを使う上では欠かせないコマンドと言えるでしょう。 headとtailは見た目の動作は似ているようですが、ソースコードの中は結構違います。 さっそく見ていきましょう。 <headのソースコード> http://www.

    ソースコードリーディング(head,tailコマンド編)
  • quickrun.vimからVisualC++コンパイラを使う - 物置き

    quickrun.vimという便利なスクリプトがあって、 これを使うと、Pythonほか様々な言語での「ちょっとしたコードを書く->動作確認」という作業をVim上で簡単に実行できるわけなんですが、 Windows環境(非Cygwin)でVisualStudio付属のコンパイラを使って動かせるようにはなっていません。 VisualStudioをしばしば使う者としては、 VCコンパイラでビルドできるようにしたいと思ったので 試行錯誤してみたところ、できたのでここに設定を晒します。 " VisualC++のためのquickrun.vim設定 {{{ if has('win32') " vsvar32.batへのパス " (ここを変更することにより使用するVisualStudioのバージョンを切り替えられる) if exists("g:qr4vc_vsvars32_path")==0 " let

    quickrun.vimからVisualC++コンパイラを使う - 物置き
    homaju
    homaju 2009/04/16
  • 微分積分

    静岡理工科大学情報学部コンピュータシステム学科菅沼研究室のページです.主として,プログラミング言語( HTML,C/C++, Java, JavaScript, PHP, HTML,VB,C# ),及び,システムエンジニアとしての基礎知識(数学,オペレーションズ・リサーチやシステム工学関連の手法)を扱っています.

  • 【第01回】ミクと学ぶC言語【開発環境】

    【第01回】ミクと学ぶC言語【開発環境】 [解説・講座] C言語の初学者のための講座です。ミクと一緒に楽しく勉強しよう!講義内容:コンパイラ、エディタe...

    【第01回】ミクと学ぶC言語【開発環境】
  • Tutorial: Make Vim as Your C/C++ IDE Using c.vim Plugin

    This article is part of the ongoing Vi / Vim Tips and Tricks Series. As a programmer, you may do lot of repetitive tasks while coding such as: Adding file header Adding function/frame comment Including default code snippet Performing syntax check Reading documentation about a function Converting a code block to comment, and vice versa The C-Support Vim Plugin offers easiest way to do all of the ab

    homaju
    homaju 2009/02/23
    VimをC言語のIDE環境にするプラグイン
  • Part1 無償版のVisual C++をC言語の学習に役立てる

    C言語はやはり,学んでおきたいプログラミング言語の筆頭格と言えるでしょう。WindowsでCプログラミングをするなら,まず使ってみたいのがマイクロソフトの「Visual C++(VC++)」です。無償版の「Express Edition」は,同社のWebサイトからダウンロードできます。 オリジナルのC言語はオブジェクト指向の言語ではありません。C言語にオブジェクト指向の機能を追加したものの一つがC++(シープラスプラス)言語です。Visual C++というからには,C++言語を使わなければいけないのでは?と思われる方もいるかもしれませんが,Visual C++では,C言語のプログラミングも可能です。まずはC言語から試してみるとよいでしょう。 マイクロソフトの主力開発ツールの現行製品は「Visual Studio 2008」で,これには有償版(Standard Edition,Profess

    Part1 無償版のVisual C++をC言語の学習に役立てる
  • 1