タグ

Cに関するnipotanのブックマーク (8)

  • 404 Blog Not Found:プログラマがC言語を学ぶべきたった一つの理由

    2006年11月28日12:15 カテゴリLightweight LanguagesOpen Source プログラマがC言語を学ぶべきたった一つの理由 あれ?一番大事な奴が抜けている。 The C Programmming Lanugage K&R Geekなぺーじ:プログラマがC言語を学ぶべき10の理由 「Ten reasons why every programmer should learn C」という記事がありました。 個人的な感想ですが、何と無く言いたい事はわかる気がしました。 ただ、多少誇張している(言い過ぎ/嘘)かなと思いました。 あと、恐らくLinuxとオープンソースなどを念頭において書いているんだろうなと思いました。 [中略] ちょっと言いすぎ感も漂う内容でしたが、面白かったので訳してみました。 0) So you can write your programming

    404 Blog Not Found:プログラマがC言語を学ぶべきたった一つの理由
  • C language って検索しにくいんだよ!! - 氾濫原

    C 言語を最初に知ったぐらいの時、C 言語は自分にとって楽しい言語じゃなかった。ポインタを理解していなかったし、そもそもコンピュータの仕組みを理解していなかったし、ついでにいえば「下手すればコンピュータが壊れるコードを書く」みたいなことを思っていたので手を出せなかった。 何か知らないうちに Ruby をいぢって、Ruby の拡張ライブラリを読んだり、ちょっと作ってみたりするうちにポインタを理解していることに気付いて、最近 C 言語のキャストについてふとした拍子に理解して、だんだん C がわかるようになってきた。 機械語は読めないものだっていう先入観があったけど、Binary 2.0 あたりの流れでそうじゃないことに気付いた。読む人が読めば読めるもののようだ。なんとなく画像処理について気付いた時と同じ気持ちになった。 頭が悪くても、ゆっくりやっていれば結構どうにかなるのかもしれない。急ぐ事を

    nipotan
    nipotan 2007/08/13
    なんとなくわかる
  • 第1回 もう一度,C言語から始めよう

    コンピュータはマシン語しか理解しない 皆さんは,そもそもコンピュータは何語で動いているのかわかりますか? 日人にとっての母国語が日語で,英国人にとってのそれが英語であるように,コンピュータにとっての母国語は機械語(マシン語)です*1。人間は,必要に迫られれば学習し,カタコトでも他国語を話せるようになりますが,コンピュータはちっとも自発的に学習してくれません。何年たっても,マイクロプロセサが直接に解釈・実行できる言語はマシン語だけです(多くの日人が,中学からずーっと英語を勉強しているわりに,英語を話せないという事実はまあ,それはおいといて…)。 マシン語というと,何か意味のある言葉のようなイメージがしますが,デジタル機器であるコンピュータの中では,プログラムも含め,あらゆる情報が2進数で表現されています。ですから,マシン語は人間の目には単なる数字の羅列にしか映りません。例えばこんな感じ

    第1回 もう一度,C言語から始めよう
    nipotan
    nipotan 2007/08/13
  • 再入不可能な関数を C で実装する - いやなブログ

    再入不可能な関数を C で実装する 一度実行したら二度と中身を実行できなくなる再入不可能な関数を C で実装してみます。通常、このような関数はシングルトンなどの静的なデータの初期化に使いますが、ここではデータについては考えないことにします。 static 変数をフラグに使う まずは最も単純な方法から見ていきます。次の関数は static 変数をフラグに使って再入を防いでいます。厳密に言えば関数そのものには入ってしまっていますが、ここで気にしないことにします。 void once(void) { static int entered; // 最初は 0 if (entered == 1) { // すでに入ったことがある場合は return; // すぐ出る } entered = 1; // 初回の場合のみ、何かを実行する } この方法はシングルスレッドのプログラムではうまく動きますが、マ

  • Pentium Compiler Group

    Get Sponsored Last change: 2000-12-27 NEWS: Version 2.95.2.1 has been released (yes, this is newer than the 2.95.3 release). You can get it via cvs (tag pgcc-2_95_2_1) or use the patch on the source page. Visit our sponsors: These pages and/or FTP'able files are mirrored all over the world, look here for a list of mirrors. The Pentium Compiler Group was founded in late '95 to enhance and support

    nipotan
    nipotan 2006/06/22
    penrium に最適化された GCC
  • Hackadelic: Yet Another C Compiler

    Cコンパイラに普通はgccを使う訳ですが、ApacheやらMySQLやらって高速化したいのが当の所です。 以前、友人からiccと言う存在を聞きましたが、pgccなるオープンソースなC Compilerも存在するようです。 とは言ってもどの程度まともにコンパイル出来るかとか、どの程度高速化が期待出来るかってのは、実際にベンチマークとって見ないとって所ですね。 MySQLのconfigureオプションのドキュメントによれば、 コンパイラ 推奨オプション

    nipotan
    nipotan 2006/06/22
    pgcc というコンパイラ
  • PCRE - Perl Compatible Regular Expressions

    The PCRE library is a set of functions that implement regular expression pattern matching using the same syntax and semantics as Perl 5. PCRE has its own native API, as well as a set of wrapper functions that correspond to the POSIX regular expression API. The PCRE library is free, even for building proprietary software. PCRE was originally written for the Exim MTA, but is now used by many high-pr

    nipotan
    nipotan 2006/04/19
    Perl 互換
  • main() の前に関数を呼ぶ - bkブログ

    main() の前に関数を呼ぶ C/C++ のプログラムで、main() の前に関数を暗黙的に呼びたいときがあります。ここでは GCC の拡張を使った方法と、C++ のコンストラクタを使った方法を紹介したいと思います。 GCC では main() の前に呼ばれる関数を __attribute__((constructor)) という拡張機能を使って定義できます。たとえば、次のプログラムでは main() の前に foo() が呼び出されます。 #include <stdio.h> __attribute__((constructor)) void foo() { printf("hello, before main\n"); } int main (int argc, char **argv) { printf("hello, world\n"); return 0; } 実行結果は以下の

    nipotan
    nipotan 2005/12/18
  • 1