タグ

programmingとcに関するyheldのブックマーク (7)

  • GitHub - evmar/c-repl: a C read-eval-print loop (abandoned)

    c-repl: a C read-eval-print loop. Copyright (C) 2008 Evan Martin <martine@danga.com> Many programming languages come with a REPL (read-eval-print loop), which allows you to type in code line by line and see what it does. This is quite useful for prototyping, experimentation, and debugging code. Other programming languages, and especially C, use a "compile-run" model, and don't provide a REPL. Let'

    GitHub - evmar/c-repl: a C read-eval-print loop (abandoned)
  • C言語を書くときにいつも思うこと - 日記を書く [・w・] はやみずさん

    SchemeでREPLを使ってプログラムを書いていると、ある関数一つを部品として仕上げることに集中することができる。ちょっと書いてはload and evalの繰り返し。時には部分的にevalしてみたりして。 そんなスタイルでプログラムを書くことに慣れているから、Cを書いているときにとても不安な気持ちでプログラムを書かなければいけない。Cの場合複数の関数や構造体を記述して、初めてプログラムを動かせることが多いから、部品一つ一つの完成を確かめながらプログラムを書いてゆくことができない。 一揃いのプログラムを書き終えてmakeすると、大量のエラーが表示されて、それを一つ一つ潰していく。その後、大体はSegFaultが発生するからgdbを使ってバグを一つ一つ潰してゆく。 Cでプログラムを書くときは大体こんなパターンで書いていて、あまり気持ちよくない。でも、C言語ってのはそんなもんなんだろうか。そ

    C言語を書くときにいつも思うこと - 日記を書く [・w・] はやみずさん
    yheld
    yheld 2007/09/25
    あるあるw>「一揃いのプログラムを書き終えてmakeすると、大量のエラーが表示されて、それを一つ一つ潰していく。その後、大体はSegFaultが発生するからgdbを使ってバグを一つ一つ潰してゆく。」
  • C/C++言語によるCGIプログラミングの設計入門

    C/C++言語によるCGIプログラミングの設計入門 Webpageを対話的にするCGIプログラムをC/C++言語で設計 する方法についての解説です。 Last revised on May 6th, 2000. 目次 CGIとは何か 現在時刻の表示 色々なファイルの返送 Server side イメージマップ Client side イメージマップ 書き込みFORMの文法 FORMデータの処理 漢字コードの処理 アップロードの処理 電子メールの送信 Sbitによる権限の譲渡 アクセスの排他処理 原始的な電子掲示版 セキュリュティーホール Webserverでのコンパイル サーバーによる認証 パスワードの取扱 Cookieの調理法 特殊なヘッダー命令 CGIの環境変数 SSI:Server side include Java scriptの極一部 画像の作成 アクセスカウンタ アクセスの逆探

  • 三項演算子の正しい書き方

    C・C++JavaPerl などのプログラミング言語では、条件演算子として三項演算子?:が用意されている。条件演算子の書き方として、以下のような説明がされることが多い。 condition ? true-expression : false-expression この説明は、以下のプログラムと同じ程度、間違っている。 #include <stdio.h> main( ){printf ("hel" "lo, world\n" );} 条件演算子は、正しくは以下のように書く。 condition ? true-expression : false-expression 使い方の例を示す。 compare = obj1 == null ? obj2 == null ? 0 : -1 : obj2 == null ? 1 : obj1.toString().compareTo(obj2.to

    yheld
    yheld 2007/07/27
    普通にこう書いてた
  • C++と Pthreads でミニマルなHTTPサーバを書く - いやなブログ

    C++と Pthreads でミニマルなHTTPサーバを書く 『UNIXネットワークプログラミング』を読んでいると、自分でも何かネットワーク系の小さなプログラムを書いてみたくなりました。そこで、ミニマルなHTTPサーバを C++と Pthreads で書いてみました。 同じ著者の「詳解UNIXプログラミング」もそうだったように、今回のもほとんどすべてのページに、重要なことが書かれています(最後のほうのXTIの部分は例外かもしれませんが)。 たとえば、27章ではネットワークサーバの実装として、次の設計方針がそれぞれ検討され、実際のコード付きで解説されています。 クライアントごとに fork 事前に fork - 各プロセスで accept 事前に fork - ファイルロックで accept を保護 事前に fork - Mutex ロックで accept を保護 (PTHREAD_PRO

  • The Aggregate Magic Algorithms

    There are lots of people and places that create and collect algorithms of all types (here are a few WWW sites). Unfortunately, in building systems hardware and software, we in The Aggregate often have found it necessary to do relatively obscure low-level things very efficiently. Many of the tricks we've devised or collected either require assembly language coding or are not entirely portable when

  • 404 Blog Not Found:Cで強引にたらいを後回し

    2007年05月22日22:00 カテゴリLightweight Languages Cで強引にたらいを後回し 404 Blog Not Found:λ萌え - たらいを後回しを書いた後、なんとかCでも出来ないかと、車輪の再発明する代わりに横車を押してみた。 GCCにはclosureがある! 実は以外と知られていないが、gccでは無名関数は使えなくとも、closureは使える。最近では無名関数をサポートしている言語が人気ということもあり、また無名関数の多くがclosureとしても用いられているため、無名関数の別名としてclosureという呼び方をすることもあるが(私もときどきやる)。この二つは来は別物である。JavaScriptで書くと、 var outer = 1; var closure = function(x){ return outer++ }; var nonclosure

    404 Blog Not Found:Cで強引にたらいを後回し
  • 1