Folioscope

At the touch of Tips, everyone becomes a Geek

Archive for 2011

  • 2011-07-18

    主婦でも出来る!? 算術演算子を使わない算術演算

    算術演算子を使わない加算, 減算, そして乗算をご紹介いたします まず初めに, ポインタの演算について説明すると 通常の算術演算の場合, c = a + b とすると, cには, aとbが加算された結果が代入されます. さて, これがポインタのアドレス値になると少し違ってきます pが何かの型のポインタとしたとき, r = p + q の場合, 加算されるのではなく, pからqだけポインタが進められます. これはどういう事かというと, 例えばpがint型のポインタとしたとき, rにはint型の...

  • 2011-07-04

    部長をノイローゼにする方法

    開発部長がバグを取れなくてノイローゼにする方法を紹介します この前の記事をちょこっと応用します http://d.hatena.ne.jp/ibenza/20110504 まず部長にincludeさせるヘッダファイルを作成します 今回はスペースの都合上, 必要なメンバ関数しか実装していません class NeuroseDouble { public: NeuroseDouble operator+(const NeuroseDouble &d) { ...

  • 2011-05-09

    C言語の関数の定義

    本日O'REILLYのRUNNING LINUXを読んでいたら, ちょっと気になるC言語の関数の定義がありました 次のソースをご覧ください #include int add(a, b) int a; int b; { return (a + b); } int main() { printf("1 + 2 = %d\n", add(1, 2)); return 0; } 実行結果 1 + 2 = 3 どうやら関数の仮引数の宣言をそれぞれ分離するこ...

  • 2011-05-04

    悪質なプリプロセッサ

    C/C++では, コードのコンパイル前に, プリプロセッサという処理をします #defineとか#includeとかです このプリプロセッサの特徴をいかしたソースコードをご覧ください C/C++の予約語などの字句解析を行う以前に, プリプロセッサの処理が行われるので, doubleやcharといった予約語もお構いなしに, charにで置換されてしまいます #include #define double char #define int char int main() { ...

  • 2011-04-19

    C言語で(無理やり)private

    こんにちは C++でのprivateをCで実装できないかなと作ってみた. 構造体と同じサイズの構造体をもうひとつ用意する. ユーザはHoge構造体を使い, 構造体の設計者はデータを(HogePrivate*)に変換してアクセスする. 実用性はさておきC言語でのお遊戯でした #include typedef struct __tagHogePrivate { int a; double b; } HogePrivate; typedef struct __ta...

  • 2011-03-23

    openSUSE11.4にビデオドライバを入れる

    openSUSE11.4が正式リリースされてから早2週間 ようやくAMDとNVIDIAのドライバのリポジトリが公開されました(されてました) これでようやくうちの環境でも新しいopenSUSEに触れます READMORE AMDドライバの場合 まずYaST2のソフトウェアリポジトリを選択します 次に[追加]ボタンを押して[URLの指定]を選択します そして適当なリポジトリ名をつけ, 次のURLを追加します http://www2.ati.com/suse/11.4 あとはソフトウェア管...

  • 2011-03-13

    オサャレなWebページ切り替え その2

    あいかわらずjQueryが楽しくて 前回の記事でフェード効果でページ内への読み込みをしました 今回はそれをちょっと改良 READMORE 変更点は, aタグでリンクできるところと, その他もろもろです Load page sample