タグ

Cに関するpenaltyのブックマーク (16)

  • C による Perl 拡張入門(

    現状、稿ははげしくかきかけです。フィードバックをおまちしております。 はじめに† Perl で C の拡張がスラスラと書けたら……。C の拡張がスラスラ書けたら、ネイティブのバインディングもスラスラ書けるし、ホットスポットを C で最適化するなんてこともお手の物。書けたらいいけど、XS ってなんかむずかしそう……。 ちがうんです! 今までの XS の教え方がまちがっていたんです!この教材をつかえば、誰でも簡単に今すぐに XS を書けるようになるんです。Perl の C 拡張を書いて同僚や上司を アッー! と言わせちゃおう! この教材では XS のややこしい機能をつかわずに、Perl の C 拡張を書く方法を伝授!初心者でもすぐに C 拡張が書けるようになるぞ! 前提知識† 稿では一般的な C の知識および Perl の知識を読者がもっていることを想定しています。XS の知識や Perl

    C による Perl 拡張入門(
    penalty
    penalty 2017/01/24
  • Using xCode in Mac OS X for C++ Programming

    penalty
    penalty 2013/05/09
  • [C言語]Socket間通信 HTTPクライアントを作る « イイ!! プログラミング Blog

    C言語でのHTTPクライアントの実装例です。 以下の手順でリモートのサーバと通信し、データを取得します。 gethostbyname()によりドメイン名からIPアドレスを引く socket() によりソケットを開く connect() によりサーバに接続する write() でサーバにリクエストを送る read() でレスポンスを受信する close() によりソケットを閉じる #include <stdio.h> #include <stdlib.h> #include <string.h> /* bzero */ #include <sys/types.h> /* netinet/in.h */ #include <sys/socket.h> /* AF_INET */ #include <netinet/in.h> /* sockaddr_in */ #include <netdb.

    penalty
    penalty 2010/10/05
  • gdb の使い方・デバッグ方法まとめ

    たとえば、変数 var の値を2進数で表示したい場合は、次のように指定します。 (gdb) p/t var 一覧表示 whatis 変数の型を調べる。 info b 今設定しているブレークポイントの一覧を表示 セグメントフォルトをした後に利用すれば、どの関数で発生したか確認できます。 info stack 関数の呼び出しスタックの一覧を表示 info Thread 存在しているスレッドの一覧を表示 異なるアドレスにおける処理継続 以下のコマンドを使用することで、ユーザが選択したアドレスにおいて実行を継続させることができます jump linespec linespecで指定される行において、実行を再開 jump *address addressで指定されるアドレスにある命令から、実行を再開 アドレスが分かっている場合のメモリリーク出力 xはhexの意味です。 (gdb) p (char*)

    gdb の使い方・デバッグ方法まとめ
    penalty
    penalty 2010/10/01
  • apache module 開発事始め : DSAS開発者の部屋

    先日は,必要に迫られて Apache 1.3 の mod_access を改造したという話を書きました.その時は単にあるものを改造しただけでしたが,ふと思い立って,一から Apache 2.0 用のモジュールを書いてみました.書く上で色々 Web サイトを探してみたのですが,あまり日語の入門向けの文章が見あたらなかったので,開発する上で分かったこと(と言うほど大したものじゃないですが)をまとめておこうと思います. フェーズには,例えばそのリクエストを受け付けるか拒否するかを決めるフェーズや,リクエストされた URI と実際のディスク上のファイルとの間の対応付けを解決するフェーズ,そしてもちろん実際のレスポンスを生成するフェーズ等があります.hook 関数を挿入するポイントはこれらのフェーズになりますが,もちろんその全てのフェーズのための関数を用意する必要はありません.また個別の設定を施す

    apache module 開発事始め : DSAS開発者の部屋
    penalty
    penalty 2009/09/18
    apache module 入門
  • Perl の基礎知識

    Perl の解説は、いろいろあるので、ここでは、 C言語を知っている人が Perl を使うことに重点を当てて比較しながら説明します。UNIX ユーザー対象なので正規表現についても知っているものとして説明します。ううむ、するとあまり書くことないかなあ... はじめに Perl は、インタプリタ言語で、記述された Perl プログラム(スクリプト)を perl コマンドが実行していきます。プログラムの記述は、ファイルの先頭に #!/usr/bin/perl というように perl コマンドを指定する必要があります。この記述は、Shell スクリプトと同じです。

    penalty
    penalty 2008/11/07
    C言語ユーザーの為のPerl入門。逆にCの入門に使える
  • Linux と C

    Linux と C ■ C/C++ C/C++ プログラムのコンパイルと実行 複数ファイルのコンパイル コンパイル時にマクロ定数の設定 デバッグ、プロファイル インラインアセンブラ sleep プロセスの複製 fork プロセスの終了待ち wait コマンドラインからの引数 プログラムの実行 exec プロセスのプライオリティー(優先度)設定 スレッドの作成 スレッドとシンクロナイズメソッド TCP/IP ファイルとフォルダの列挙 パイプ シグナル 共有メモリ メッセージ セマフォ ファイルの排他制御 ■ Xlib Xlib 実行ファイルの生成 Xlib イベント Xlib ボタンを作る Xlib テキストボックスを作る Xlib ウィンドウの閉じるボタンが押された時の処理を書く Xlib ウィンドウの枠を消す Xlib メモ ■ Xaw ウィジットとコンパイル Textの入力文字チェ

    penalty
    penalty 2007/09/26
    まんま
  • C言語FAQ & C++言語FAQ【BohYoh.com】

    プログラミング言語であるC言語およびC++言語に関して、よく聞かれる125の質問(FAQ)と、その解答です。

    penalty
    penalty 2007/07/05
  • lucille development blog » Blog Archive » fiber(microthread)

    シェーディング言語の Du(), Dv() 関数をどのように実装したらよいものかと いろいろ調べています。 とあるプロダクションのレンダラでは、 シェーダコード(ネイティブコード)に Du() が現れた時点で カレントコンテキストを退避させるなどして微分値を計算しているとこのことでした。 http://lucille.atso-net.jp/blog/archives/2005/08/lucille.html というわけで、まずは、そもそも OS のコンテキストスイッチはどのように行われているのか といろいろ調べていたところ、 fiber(micothread などとも呼ばれている) というスレッドテクニック があることを知りました。 http://d.hatena.ne.jp/shinichiro_h/20040106 http://www.sun-inet.or

    penalty
    penalty 2007/04/13
    likelyとか
  • http://b197199.usr.starcat.ne.jp/~vorga/freedev2.html

    penalty
    penalty 2007/03/29
  • EclipseベースのC/C++統合開発環境 - Eclipse CDT 3.0

    Eclipse Foundationは17日(現地時間)、EclipseベースのC/C++開発ツールであるEclipse CDT(C/C++ Development Tools) 3.0を公開した。Eclipse CDTは統合開発環境EclipseをC言語およびC++の開発で利用できるようにしたもので、C/C++用のエディタやデバッガ、パーサ、ランチャ、各種アシスタント機能などが提供される。 新バージョンである3.0では、言語処理系の機能に対して次のような変更が行われた。 パーサの処理速度の向上 検索速度の向上 DOMベースの処理系を採用 K&R Cの文法に対応 特に注目すべき点は、言語モデルがDOM形式になったことで検索やリファクタリング、クラスブラウジングが高速に行えるようになり、プラグイン開発も容易になったことである。 3.0では、処理系だけでなくユーザインタフェースも向上している。

    penalty
    penalty 2007/03/29
  • http://www.gulf.or.jp/~damayan/object/

    penalty
    penalty 2007/01/17
    探せばあるもんだ。
  • http://www.malib.net/api/ja/node2.html

    penalty
    penalty 2007/01/17
  • C/C++ リファレンス

    penalty
    penalty 2006/01/17
    そのうち使うだろ
  • 普通のやつらの下を行け: Cで動的コード生成・実行 - bkブログ

    普通のやつらの下を行け: Cで動的コード生成・実行 スクリプト言語には動的にコードを生成して実行する機能を持ったものが多くあります。 普通のやつらの下を行けの第3回として、今回は C による動的なコード生成と実行に取り組んでみたいと思います。 今回書いたコードの main() 関数は以下のようなものです。 int main(int argc, char **argv) { assert(argc == 2); define(int, add, (int x, int y), "{ return x + y; }"); define(int, mul, (int x, int y), "{ return x * y; }"); define(int, add_argv1, (int x), "{ return x + %d; }", atoi(argv[1])); printf("%d\n"

    penalty
    penalty 2005/10/27
  • 普通のやつらの下を行け: C でバックトレース表示 - bkブログ

    普通のやつらの下を行け: C でバックトレース表示 普通のやつらの下を行けの第2回として、今回は glibc の関数を使って C でバックトレース (スタックトレース) の表示を行ってみます。 バックトレースとは バックトレースとは、大ざっぱに言うと、現在の関数に至るまでの道筋です。たとえば、次の Ruby プログラムを実行すると、 1 / 0 の行で例外が発生して、バックトレースの表示とともにプログラムは異常終了します。 def foo 1 / 0 end def main foo end main この例では main から foo を呼び foo の中の 1 / 0 の部分で例外が発生しています。 % ruby divide-by-zero.rb divide-by-zero.rb:2:in `/': divided by 0 (ZeroDivisionError) from div

    penalty
    penalty 2005/10/27
    おさえておこう
  • 1