タグ

cに関するtaketyanのブックマーク (8)

  • おまじないではない#include - 郡山からHello World

    C言語を最初に学ぶと、必ず出てくる以下の行 #include <stdio.h> おなじないと言われて、常に書いている人がいるみたいだが、おまじないでもなんでもなくて stdio.h ファイルをそこに展開せよといっているだけである。 なんで展開するかというと、たいていはprintf関数を使うので、そのプロトタイプ宣言なんかが書いてあって必要になるから。使う分にはそれでもいいけど、それだと面白くないからstdio.hファイルでも見てみようかと思うわけですよ。 どこにあるかというと、まぁ、環境によるわけですが、UNIX系の場合 /usr/include だったりします。 というわけで、/usr/include/stdio.hファイルを見ていけばいいということで。以下、FreeBSD 7.3-RELEASE の環境の話です。 ファイル長いので、面白そうなとこだけ見ていこうかと。 最初は以下の通り

    おまじないではない#include - 郡山からHello World
    taketyan
    taketyan 2011/08/21
    NULL って C と C++ で定義が違うんだ... (よくわかってない)
  • C言語・C++言語用テスティングフレームワーク - Cutter

    最新リリース 2019-09-13にリリースされた1.2.7が最新です。 [ダウンロード] [変更点] Cutterとは Cutterは書きやすさ・デバッグのしやすさを重視したC言語・C++言語用のテスティングフレームワークです。メンテナンスしやすく、利用効果の高い単体テスト(ユニットテスト)の開発を支援します。 また、テストを苦痛ではなく、楽しいものにすることも重視しています。スクリーンショットはテスト結果の通知機能を利用している様子です。文字としてテストのパス・失敗を伝えるだけではなく、視覚的にも通知することで、テスト結果をわかりやすくします。わかりやすいので、頻繁にテストを実行したくなります。この機能はnotify-sendコマンド(Linuxや*BSDなどの場合)またはgrowlnotifyコマンド(macOSの場合)を利用します。 動作環境 CutterはDebian GNU/L

  • C言語: 実行時間測定の方法

    C言語において実行時間を測定する為の方法はいくつかある。gettimeofday, clock, getrusage, timesを利用する方法である。ここではこれらの方法について検証してみる。これは2005/12/30時点での情報であり、古い亊が考えられるので注意して頂きたい。さらに、内容のほとんどはmanを移しただけなので、正確な情報を得るためにそれぞれの関数のmanを見ることを強く推奨する。 System: Linux 2.6.12 glibc: glibc 2.3.5-1ubuntu12 gettimeofdayを使用する方法 通常はこの関数を使用するのをお勧めする。 gettimeofdayはSVr4, BSD 4.3準拠である。返り値の型はsys/time.hに定義されるstruct timevalで有る。

  • アクセス制御モジュールを作ってみる (apache module 開発事初め その2) : DSAS開発者の部屋

    前回の記事では,apxs が生成したテンプレートをそのまま動かしてみましたが,今度は少しコードを書いてみましょう.同じ handler を作っても面白くないので,アクセス制御をするモジュールにしてみます.Apache のアクセス制御は2種類あって,一つはユーザ認証を目的としたもので,mod_auth の眷属がそれです.もう一つはリクエストの別の側面,例えばクライアントのアドレスによってアクセスを許可したり拒否したりするもので,標準モジュールでは mod_access がそれに当たります.あまり複雑なことをしても話が見えにくくなるので,今回作るモジュールではランダムにアクセスを許可したり拒否したりすることにします. apxs -g -n denyrandomとして出力したものをベースにしています). 1 #include "httpd.h" 2 #include "http_config.h

    アクセス制御モジュールを作ってみる (apache module 開発事初め その2) : DSAS開発者の部屋
  • Androidアプリから C/C++ライブラリを呼び出す(1)

    前回に引き続きバッファロー社のパソコン用学習リモコン「PC-OP-RS1」をAndroidから制御するプログラムを作成します。今回と次回では、Androidフレームワークの作成、独自SDK、Androidアプリケーションまでを解説します。 日Androidの会 金沢支部 出村成和 前回は、Linuxカーネルへのデバイスドライバの組み込みから始め、「HAL」(Hardware Abstraction Layer)レベルのドライバや、リモコンの信号を送受信するテストアプリケーションを作成しました。 今回はその続きとして、前回C/C++言語で作成した「libpcremocon.so」ライブラリを、Javaで作成するAndroidアプリケーションから呼び出せるようにします(図1)。 さらに、既存のAndroidフレームワークに追加してJavaのクラスライブラリを作り、それを独自SDKとして1つに

    Androidアプリから C/C++ライブラリを呼び出す(1)
  • GitHub - pi8027/libdatastruct: libdatastruct is an ANSI C library for abstract data types.

    taketyan
    taketyan 2011/01/02
    これ読んで勉強しよう
  • 【PHPext】PHP拡張モジュールの作成 - (・∀・)イイ!!Memo

    手順 † PHP拡張モジュールを作成する手順は以下のようになります。 プロトタイプファイルとは モジュールに含まれる関数名を羅列したテキストファイルです。 プロトタイプファイルをext_skelスクリプトで処理すると、コードの基的な部分が自動生成されます。 プロトタイプファイルの作成 ext_skelによる、コードの生成 config.m4の編集 configureスクリプトの生成 コーディング コンパイル ↑ サンプル モジュールの作成 † 下記のような関数を含むモジュ-ルを作成してみる。モジュール名は「sample_funcs」とする。 void omikuji() 「daikichi(^-^)」「cyu-kichi(-_-)」「kyo(T_T)」のそれぞれを3分の1の確立で表示する。 string orz([bool isCapital]) isCapitalがTRUEなら「Or

    taketyan
    taketyan 2010/12/29
  • PHPの実行をPHPのソースコード(C言語)のレベルで見る方法 - suztomoのはてなダイアリー

    PHPはソースコードを読めばわかるとおりC言語で書いてあります。 そのC言語の中でPHPがどんな処理をしているのかをデバッガであるgdbを用いて見ることができるのでそれを紹介します。まぁ普通のgdbの使い方なんですが:p ソースをダウンロードしてコンパイル PHP-5.2.6のソースをダウンロードします。 まず./configureするとのMakefileができます。 このMakefileの中で-gオプションがついていることを確認しましょう。*1 これがデバッガ(gdb)用のオプションで、コンパイルされたバイナリファイルにソースコードとの対応付けができます。 次にmakeします。時間がかかります。 サンプルファイル makeしている間に次のようなPHPファイルを作成しましょう。 <?php $i = "12"; $k = intval($i); ?> これは文字列の"12"をintval関

    PHPの実行をPHPのソースコード(C言語)のレベルで見る方法 - suztomoのはてなダイアリー
  • 1