タグ

cに関するhitode909のブックマーク (14)

  • 金码堂码资料:404状态页面-UPUPW绿色服务器平台

    金码堂码资料站还提供大量的金码堂码资料创新内容,金码堂码资料新闻,金码堂码资料图片等相关信息。

  • Implement CGI Scripts in the C Language

    イントロダクション Webで動的にコンテンツを作る仕組みとして、CGI(Common Gateway Interface)がよく使われています。サーブレットなども流行っていますが、私はCGIが好きです。単純でわかりやすいし、仕様が枯れているからです。ここでは、CGIスクリプトをC言語を使って実装する方法について書いてみます。 ところで、CGIはインターフェイスの規約に過ぎないので、「CGIを実装する」というと、WebサーバにCGIスクリプトを呼び出す機能をつけるということになってしまいます。ここで紹介する、CGIを介して呼び出されるプログラムは「CGIスクリプト」と呼ばれます。間違っても、「俺、CGI作れるぜ」と公言するのはやめましょう。とはいえ、社会生活においてそのような趣旨の突っ込みを入れると嫌な顔されることうけあいです。 スクリプトというくらいなので、CGIスクリプトを実装するのには

  • はてなブログ | 無料ブログを作成しよう

    読書感想】論理的思考とは何か ☆☆☆☆ 論理的思考とは何か (岩波新書 新赤版 2036)作者:渡邉 雅子岩波書店Amazon Kindle版もあります。論理的思考とは何か (岩波新書)作者:渡邉 雅子岩波書店Amazon 論理的思考法は世界共通ではない。思考する目的をまず明確にしてその目的に合った思考法を選ぶ技術が要る。…

    はてなブログ | 無料ブログを作成しよう
    hitode909
    hitode909 2008/12/31
  • Route 477(2008-06-11)

    ■ [lisp][lab] S式ベースC言語「SC」がリリースされたようです 僕がいた研究室の先輩のプロジェクト、「SC」がリリースされたようです。 SC: The SC Language System SCは、一言で言うと「S式でC言語を書くためのシステム」です。 言語処理系の研究では、JavaやC言語などの既存の言語に並列処理やGCなどのいろいろな機能を付け加えたりします。 ここで問題になるのが、「JavaやC言語の文法をいじるのは大変」ということです。例えばJavaに「このキーワードでくくった区間は並列に動作します」みたいな 文法を追加しようと思ったら、yaccとか使って頑張らないといけません。 そこでS式です。 S式はLisp系言語で使われるフォーマットで、プログラミング言語のような木構造を扱うのに特に適しています。 俺言語からC言語への変換は大変ですが、俺言語をS式ベースにしてお

    Route 477(2008-06-11)
    hitode909
    hitode909 2008/06/14
    おお
  • C言語で、ruby用拡張モジュールを作成する方法 - ぴょぴょぴょ? - Linuxとかプログラミングの覚え書き -

    C言語で、rubyの拡張モジュールを作成する方法について調べてみました。 とりあえず例として Sample という拡張モジュールを作成し Sample::sample() というメソッドをCで実装 してみました。 このSampleモジュールを使うと、以下のrubyのコードは require "sample" puts Sample::sample("test") コンソールに "test" と表示するようになります 拡張モジュールのソースコード Cで次のようなコードを書きます。 #include <ruby.h> static VALUE rb_sample_sample(VALUE obj, VALUE arg) { Check_Type(arg, T_STRING); return rb_str_new2(RSTRING_PTR(arg)); } void Init_sample()

    C言語で、ruby用拡張モジュールを作成する方法 - ぴょぴょぴょ? - Linuxとかプログラミングの覚え書き -
  • vprintf() - 若葉プログラミング塾 関数

    このマクロの目的 offsetof マクロは、構造体のメンバのバイト位置を示す整数を返す。 定義 #include <stddef.h> offsetof(type, member-designator); 働き このマクロは、 member-designator が type 型の先頭から何バイト目にあるかという size_t 型の整数定数に展開される。構造体メンバに対し、構造体の先頭からのバイト数になる。 member-designator は、 static type t; という宣言があった時、 &(t.member-designator) という表現がアドレス定数になるものでなければならない。 (指定されたメンバがビットフィールドであった場合の動作は未定義である。) 解説 実際の stddef.h 内には #define offsetof(s,m) (size_t)&(((s *

    hitode909
    hitode909 2008/06/05
    offsetof
  • ビット演算メモ - ボクノス

    ハッカーのたのしみ読んでます。実はこの、「解説が殆ど無い」。提示されているのは式のみ。後は自分で探るしかないのだ・・・メモメモ。 記号はCの演算子。=は等号。 & マスク。共通するビット以外をオフにする効果を持つ。 例:IPアドレス & サブネットマスク = ネットワークアドレス 192.168.1.100 & 255.255.0.0 = 192.168.0.0 | ビットを立てる。とにかくビットが立ってたらビットを立てる。 例:ファイルhoge.scmの権限は644なので、実行権限(111)を与える。chmod +x hoge.scm 644 | 111 = 755 (8進数) ~(not) ビットの反転。1の補数を取る。 ^(xor) 繰上り無しの足し算。mod2世界の足し算と覚えておくと忘れない。 1 ^ 1 = 0 1 + 1 = 0 (mod 2) -1 最右のビットを消して、

    ビット演算メモ - ボクノス
    hitode909
    hitode909 2008/05/19
    知らなかった
  • C言語のソース実装 - Florian’s NewestDiary

    id:minekoaさんの以下のエントリーを読んでつらつらと。 [C++] 漢の言語(http://d.hatena.ne.jp/minekoa/20080310/1205146973) 一時期、何でもかんでも巨大なライブラリアーカイブ(.a,.lib)に放り込むというコーディングスタイルを持っていた時期がありました。 結構いろんなメリットがあって、 ライブラリ自体が巨大でも、ライブラリ内のモジュール依存性が低いと実際にリンクされるのは一つだけ。 C言語はエントリーポイントを一つしか持てないので、ユニットテストがやりづらいのを切り分けられる(番時もmain関数のみのソースをリンクするのみ) コンパイルの時間が省略される まぁ、生でC言語を触ることが極端に減ったのでこの辺の好みは今となってはあまり生かされていないのですが、他にもこんな方針を同時に立てていました。 関数は1画面以内。それも、

    C言語のソース実装 - Florian’s NewestDiary
  • enbug diary(2008-02-02)

    _ 日常 当は朝のうちに行くつもりだったのに、 結局夕方になってから、 No Country for Old Men を観に行った。 原作の評判は聞いていたのだが、映画も割と評判良さそうだったので、 見に行く気になった。 少々オーソドックスなストーリーと言えなくもないが、 映画の世界にどっぷり浸かれて、かなり良かったー。 ハリウッドじゃ、最近はゲームやコミックの映画化が多くて、 どうしても勧善懲悪な内容になりがちで、 少々傷気味だっただけに、 こういう善対悪にならない構図は非常によろしい。 一応善に限りなく近い存在であるシェリフは常に事件から一歩退いた位置にいるし、 観客の多くが一見善と捉えがちな主役は所詮こそ泥だ。 どっちの方がより恐ろしい存在か程度の違いしかないと言っていい。 たぶん、この映画で最も重要なテーマは自分の運命の決め方なんだと思う。 われわれは常に何かを選択しながら生き

  • 東大の演習問題に挑戦 - ボクノス

    東大のアルゴリズムとデータ構造演習(リンク切れ)が面白そうなので演習問題を解いてみる。 課題1-A:シェルを実装せよ。 ガンバリマス。 方針 パイプもリダイレクトも無し。一番簡単そうな実装を目指します。 1行取得は面倒なのでGNU getline使います。 fork,exec,waitを使って実装します。 execはexecvpを使うことにしました。 引数の処理は、単語の先頭ポインタをargvに追加して、スペースか改行があったら\0で踏み潰していきます。 コーディング #define _GNU_SOURCE #include <stdio.h> #include <stdlib.h> #include <unistd.h> void prompt(void) { printf("* "); } int main(void) { /* 行の取得用 */ char *line = NULL;

    東大の演習問題に挑戦 - ボクノス
  • アルゴリズムとデータ構造演習

    演習の目的は、プログラミング言語C及びSchemeの基礎を習得し、 それらの言語を通じて、講義「アルゴリズムとデータ構造」の理解を深めることにあります。 重要なお知らせ 特に重要な連絡事項はここに掲載されます。 課題について 課題には、A課題とB課題があります。(課題番号の末尾が種類を表します。) B課題が基礎的な課題で、A課題が発展的な課題となっています。 B課題を全問解くことが、単位取得の目安です。 C入門第1回(10月10日) C入門第2回(10月17日) C入門第3回(10月24日) C入門第4回(10月31日) C第1回(11月7日) C第2回(11月14日) C第3回(11月21日) C第4回(11月28日) C第5回(12月5日) Scheme第1回(12月12日) Scheme第2回(12月19日) Scheme第3回(1月9日) Scheme第4回(1月16日) C補講

  • cursesの基本的な関数 - ファイヤープロジェクト

    cursesの多くの関数のうち,基的なものを紹介する. cursesの基的な関数 カーソルの移動 文字出力 文字の削除 画面のクリア サンプル サンプル2 cursesには沢山の関数がある.ここではそのうちの以下の機能を使ってみる. カーソルの移動 文字出力 文字の削除 画面のクリア カーソルの移動カーソルの移動には int move(int y, int x); を使用する.左上が0,0となる.そして縦にy,横にxが増加していく.また,ウィンドウが複数になると,ウィンドウを指定してそのウィンドウのカーソルを移動させることができる. int wmove(WINDOW *win, int y, int x); 複数のウィンドウの扱いについては別項に記述する. 文字出力文字を出力する関数はいろいろある.最も基的なものとして以下がある. int printw(char *fmt [, ar

  • 低水準ファイル入出力関数を使おう - 68user's page

    低水準ファイル入出力関数 perl でプログラミングするにしても、 基礎知識としてC言語のファイルディスクリプタの概念を知っておくにこしたことはありません。 特に 4引数 select を使うときには、 ファイルディスクリプタの知識があると理解が早いでしょう。 C言語でファイルを扱うときは、一般的に fopen・fread・fwrite・fclose などの ライブラリ関数を使います。これらは stdio.h で宣言されており、 標準入出力ライブラリ (標準入出力関数) と呼ばれます。 ファイルをオープンするときは FILE *fp; fp = fopen("file.dat", "r"); として FILE 構造体を得ます。それに対して fread・fwrite を実行します。 しかし、これら fopen・fread などのライブラリ関数も、 内部では open・read・write・c

    hitode909
    hitode909 2007/10/14
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • 1