タグ

Cに関するpokutunaのブックマーク (17)

  • ウェブリブログ:サービスは終了しました。

    「ウェブリブログ」は 2023年1月31日 をもちましてサービス提供を終了いたしました。 2004年3月のサービス開始より19年近くもの間、沢山の皆さまにご愛用いただきましたことを心よりお礼申し上げます。今後とも、BIGLOBEをご愛顧賜りますよう、よろしくお願い申し上げます。 ※引っ越し先ブログへのリダイレクトサービスは2024年1月31日で終了いたしました。 BIGLOBEのサービス一覧

    ウェブリブログ:サービスは終了しました。
    pokutuna
    pokutuna 2012/11/19
  • 60 Web Design Galleries for Design Inspiration « AcrisDesign – Web Design Resources and Inspiration

    This domain may be for sale!

    60 Web Design Galleries for Design Inspiration « AcrisDesign – Web Design Resources and Inspiration
    pokutuna
    pokutuna 2012/11/19
  • Big Sky :: C言語から使えるJSONパーサ、parson が思った以上に良い仕事をしている。

    前回は JSMN というのを試したけど、今度も matsuu さんのブクマから。。。 parson Lightweight json parser and reader written in C. http://kgabis.github.com/parson/ 特徴は 軽い (2ファイルだけ) 単純なAPI ドット記法による json 値のアドレッシング (C言語の構造体やOO言語のオブジェクトに似た感じ。例: "objectA.objectB.value") C89 コンパティブル テストスーツ 前回の JSMN とは違い、メモリを動的に確保するタイプ。DOM の様にルートノードから探索を始め、最終的にルートノードを指定してメモリを開放する。 今回もtwitterのタイムラインをパースしよう。 #include <assert.h> #include <string.h> #inclu

    Big Sky :: C言語から使えるJSONパーサ、parson が思った以上に良い仕事をしている。
  • configureのbuild、host、targetの違い - maminusのメモか何か

    crosstoolのログなんかを見ていてようやく理解してきた気がするけど、Linuxとかのパッケージをクロスコンパイルするときにconfigureの引数に--build、--host、--targetをどう指定したら良いのか、自分の中で整理がついてきたんじゃないかと思う。 たぶんこうだと思う。 引数 指定する内容 --build コンパイルPC --host makeして作ったプログラムの実行環境 --target クロス開発におけるターゲット環境 普通のコマンド類は「実行環境==ターゲット」だから $> ./configure --prefix=/hoge/sysroot --build=i386-pc-linux-gnu --host=x86_64-unknown-linux-gnu --target=x86_64-unknown-linux-gnu になると思う。*1 それで、クロス

    configureのbuild、host、targetの違い - maminusのメモか何か
    pokutuna
    pokutuna 2012/09/12
  • GCC4.3.3によるARMのクロスコンパイル « chibiegg日誌

    前回の記事でGMPとMPFRライブラリはインストールできたので、ARMのGCCクロスコンパイラを導入します。 Interface2008年11月号を参考にしています。 コンパイルディレクトリはソースディレクトリと同一で行うと次のようなエラーがでます。 Makefile:144: ../.././gcc/libgcc.mvars: No such file or directory make[2]: *** No rule to make target `../.././gcc/libgcc.mvars'. Stop. make[1]: *** [all-target-libgcc] Error 2 make: *** [all] Error 2 その点に注意して進めます。 $ tar jxvf gcc-4.3.3.tar.bz2 $ cd gcc-4.3.3 $ mkdir arm-elf

    pokutuna
    pokutuna 2012/09/12
    なりました
  • ポインタの裏話

    ポインタの裏話 岡﨑 直観 okazaki at ecei.tohoku.ac.jp http://www.chokkan.org/ @chokkanorg ポインタの裏話 プログラミング演習A 1 このような説明を 覚えていますか? 知らなくても全く問題ありません ポインタの裏話 プログラミング演習A 2 int x = 0; &xは変数xの「アドレス」 「番地」「住所」を返す 変数x 0 &x メモリ空間, 記憶空間 変数xのアド レス(住所) ポインタの裏話 プログラミング演習A 3 ____ / \ 何言ってたんだこいつ? / ⌒ ⌒\ 番地 アドレス ぬるぽ / (●) (●) \ \ / | 、“ ゙)(__人__)" ) __________ \ 。` ⌒゚:j´ ,/ j゙~~| | | | __/ \ |__| | | | || / , \n||

    pokutuna
    pokutuna 2012/06/04
  • Cでのポインタの読み方

    Cでのポインタの読み方 Cのポインタの読み方は、ルールを知らないと摩訶不思議です。 ルールを覚えれば、 int (*p[5])[3]; char (*(*fp)(void))(int); なんてのも解読する事ができます。 大事な前程 ポインタを読む際には、「英語で読む」必要があります。 「え~、英語~」 と思う方もいるかもしれませんが、逆に日語で読む方が大変です。 基ルール ルール 後置演算子が優先。 関数の() 配列の[] 前置はあとで。 要は、「後ろに何かあったら、後ろが優先」です。 演算子の英語での読み方 * pointer to ... () function returning ... [] array of ... Lesson 1 まず、演算子が単独で出てくる場合です。 Lesson 1-1 pointer to ... int *p; これは、まずpを見ましょう。 i

    pokutuna
    pokutuna 2012/01/17
  • Wataru's memo(2008-03-09)

    ● [Thoughts] プログラマの教養は manual pages に宿る (その5) 今回は、いよいよ GNU C コンパイラの登場です。一般書ではほとんど触れられることのない、インクルード処理の意義を再考してみましょう。 はじまりは hello.c 最初のソースファイルは、意図的に #include <stdio.h> を削除した hello1.c です。 int main() { printf("Hello, world!\n"); return 123; } main 関数の中に、printf 関数および return 文を記述しただけの小さなプログラムです。通常は return 文にゼロが添えられていますが、ステータスコードの意味を強調するために 123 を指定しています(UNIX の慣習としてプロセスは正常終了の時0、異常終了の時1を返す)。 main 関数の戻り値は、プロ

    pokutuna
    pokutuna 2011/11/22
    built-in 関数とか
  • やさしいCプログラミング

    このは,これからプログラミングを学ぼうとする初心者のために, 基的な事柄について解説しています.書の目的は,プログラムの よい書き方(プログラミング書法またはプログラミングスタイルと 呼ばれる)を身につけるきっかけを提供することです.読者には, コンピュータやプログラミングについての特別な知識は期待して いません.書で使用するコンピュータ言語は,Cよりはプログ ラミングの教育に適したModula-2風の疑似言語です.この言語は C言語が持つ文字列を置き換える機能(マクロ定義)を使って見 かけを変えているだけで,C言語そのものです.初心者がModula-2風C を用いることの利点は, プログラムを読みやすく,文法を覚えやすくする, C言語特有のわかりにくさを緩和する, C言語特有の起こしやすいエラーを未然に防ぐ, C言語特有の落し穴をふさぐ, C言語特有の曖昧な制御構造を避ける, 等

    pokutuna
    pokutuna 2011/10/06
  • MinUnitでテストしたその後 CodingFirst

    C言語、PerlJavaScript、最近はPythonも。出来上がったものより、プログラムを書くことが好き。あと、スイーツ。 前にxUnit系のテストとしてMinUnitとそれを改造したMacroUnitについて書いた。 あれから半年以上経って、試行錯誤した結果、もうちょっと違うのがいいなーと思い 今回、munitというのを作った。 前に書いた記事→http://d.hatena.ne.jp/yukioc/20100604/1275657911 xUnit系テストを、CUnit、MinUnitMacroUnitと経て使ってきたけど、 共通して思うのは書いたコードを関数レベルで試すのに向いてるなということ。 それとテストを書きやすい関数を書く癖がついて、汎用的に、依存関係を少なく 設計する事に繋がるので良いなぁとも思った。 しかし、後からテストを追加する、品質向上的な使い方には向いてな

    pokutuna
    pokutuna 2011/09/19
  • ld can't link with a main executable

    pokutuna
    pokutuna 2011/09/19
    dylib
  • はてなブログ | 無料ブログを作成しよう

    我が家のダグウッド ダグウッドとはハナミズキのことである。昔、日からポトマックリバーの桜の苗木を送った返礼として、アメリカから送られて来たのが日での始まりで、アメリカ原産でアメリカヤマボウシともいうらしい。 最近では日でも、あちこちで、街路樹であったり、庭木であっ…

    はてなブログ | 無料ブログを作成しよう
    pokutuna
    pokutuna 2011/09/19
  • 卜部昌平のあまりreblogしないtumblr

    エゴサーチで見かけた反応とそれの感想など 速さのためにはCでないと この誤解は典型的ですねえ。今、申し訳ないんだけど、普通に書いたCのコードと普通に書いたJavaのコード走らせると、普通に書いたJavaのコードの方が速くなるケース、全部とは言わんが案外と多いですよ。なんでかというと、Javaは普通に書いたらJVMが人類の持てるテクノロジの限りを尽くして勝手に高速化してくれる1が、Cはあなたの能力以上に速くはならない。Cは速いJavaは遅いってのは10年くらい前には正しかったんでしょうけどねえ。 なお自分でベンチマークしてる暇なんかないよ!という人はshootout.alioth.debian.orgぐらいは読んでもいいんじゃないですかね。たとえばJavaとCの比較で見れば全体的にいって同じくらいのスピード、いくつかの項目でJavaのほうが速いのが分かる。 組み込み屋はCでなければ何を使うか

    卜部昌平のあまりreblogしないtumblr
    pokutuna
    pokutuna 2011/05/18
  • プログラマがC言語にこだわるべきでない0番目の理由 by Inquisitor

    新しいプログラミング言語を作りたいと思ったら、そのプロトタイプはCのような低級言語ではなく、高級言語で実装したほうがいいのではないでしょうか。もちろん実行時のパフォーマンスなどのために、最終的にC言語で実装するということはあるかもしれませんが(相対的な話ではありますが、C言語を低級あるいは低水準と呼ぶのが許せないという人は、K&Rの1ページ目を参照してください。日語訳では「はじめに」のp.2です。)。 Cは比較的“低水準”の言語である。この性格付けは非難の意味を込めているのではない。これは単に、Cが普通のコンビュータで扱う種類の、すなわち文字、数、アドレスを扱えるようになっているという意味である。もちろん、これらのデータを組み合わせて、現実の機械で実行されるような普通の算術論理演算でいろいろな処理を行なうことができる。(p. 2) 以下、題 プログラマがC言語を学ぶべきたった一つの理由

    プログラマがC言語にこだわるべきでない0番目の理由 by Inquisitor
  • [開発][C言語]超テキトー図解ポインタ - chocolate holic

    まだ途中。書き次第随時追記していきまする。間違いとか分かりにくい表現があったら遠慮無く指摘してくだしあ。

  • scanf 禁止

    scanf 禁止     Last modified: キーボードから数値を入力するときに,scanf を使うのは止めよう。 #include <stdio.h> #include <stdlib.h> int main(void) { int i, num; for (i = 0; i < 10; i++) { scanf("%d", &num); printf("num = %d\n", num); } return EXIT_SUCCESS; } このプログラムは,キーボードから数値を10回入力して,その都度入力された値を書き出すつもりのもの。 間違えて,アルファベットキーを押してリターンキーを押すと,ノンストップでループを回ってしまう。 fgets と sscanf を組み合わせて使うのがよい。 直前のページへ戻る   E-mail to Shigenobu AOKI

    pokutuna
    pokutuna 2009/07/23
  • Rubyのハッシュテーブルの仕組みを徹底的に理解する - ザリガニが見ていた...。

    ハッシュとは 一般的に理解すると抽象的で分かり難くなってしまうが、ハッシュとは、あるデータから、一定の計算をして求めた、目的に沿った数値、と思っている。それでは、どのような目的に利用されるのか?自分の知識で考えてみた。 暗号化 webアプリケーション等で、パスワードをDBに保存する時、生のパスワードをハッシュに変換して保存する。 Digest::SHA1.hexdigest等で求めたハッシュから、元のデータを復元するのが非常に困難という特性を利用する。 保存しているパスワードハッシュが、たとえ漏洩したとしても、不正利用を防止できる。 パスワードを照合するときも、ハッシュに変換して、保存しているパスワードハッシュと一致するかどうかで判断する。 同等の確認 長い文字列データを比較する時、全ての文字が等しいかチェックするのは非常に時間がかかる。 しかし、長い文字列データをハッシュに変換しておき、

    Rubyのハッシュテーブルの仕組みを徹底的に理解する - ザリガニが見ていた...。
  • 1