タグ

C++に関するzbdkのブックマーク (15)

  • C/C++でもっとも簡単にPNG/JPEG/BMP/その他の画像をread/writeするには? - tuedaの日記

    例えばPNG画像ならlibpngを使うのがスタンダードなやり方だが、このlibpngライブラリ実はかなり使いずらい。 しかもlibpngが最初から用意されている環境ならともかく、自分でソースを取ってきてコンパイルして使えるようにするのは結構大変なことが多い。 品質・速度はどうでもいいからとにかくread/writeだけ手軽にしたい時にはこれらを使うのはいい選択肢ではない。 そこでSean Barrettさんの1ファイルでPNGもJPEGもBMPもその他いろいろ読めてしまう夢のライブラリが役に立つ。 (1ファイルと言っても4500行もあるけど) 上記HPの、 public domain JPEG decompression public domain PNG decompression public domain BMP, TGA, PSD loading public domain ZLI

    zbdk
    zbdk 2016/08/22
  • TDD Boot Camp(TDDBC) - TDDBC横浜2nd/環境構築(C++)

    必要なもの Visual C++ Express IDE です PCUnit cunit like な libc 非依存のテスティングフレームワークです Ruby コード生成スクリプトを使うために必要です はじめに この文書は Visual C++ Express で PCUnit を使うための環境構築の手順です。 PCUnit 付属のコード生成スクリプトを使えるようにすることが目的です。 空っぽの状態から始める手がかりにしてください。 1. プロジェクトを作りましょう 最低でも3つにしたほうがいいと思います。 PCUnit スタティックライブラリ github で公開されている PCUnit のリソースを置いてしまいましょう ソースフォルダには .c なファイルを、ヘッダーフォルダには .h なファイルを入れてください SampleMain? スタティックライブラリ 体コードをここに入

    zbdk
    zbdk 2013/01/11
  • ゲームプログラミングにおけるC++の都市伝説 - ソフトウエア研究会in秋葉原 - PukiWiki

    ゲームプログラミングにおけるC++の都市伝説 † この記事は、C++ Advent Calendar 2012 22日目の記事です。 Prev 21日目の記事 CEANによる配列操作 Next 23日目の記事 構造化並列プログラミング 時間の関係で3つの都市伝説しかご紹介できませんでしたが、またの機会があれば他の都市伝説についてもお話したいと思います。 2012/12/22 written by h.godai @hgodai 目次 初めに 都市伝説1 C++は遅いのでゲームには向いていない 都市伝説2 boost::poolはゲームには向いていない 都市伝説3 boostライブラリは怪しいライブラリだ。使うと呪われる。 ↑ 初めに † かつて、8bit時代はゲームのプログラムはアセンブラが主流でした。やがて、ゲームのプラットフォームが16bitから32bitになるに従い、C言語でゲーム

    zbdk
    zbdk 2012/12/24
  • ポインタの裏話

    ポインタの裏話 岡﨑 直観 okazaki at ecei.tohoku.ac.jp http://www.chokkan.org/ @chokkanorg ポインタの裏話 プログラミング演習A 1 このような説明を 覚えていますか? 知らなくても全く問題ありません ポインタの裏話 プログラミング演習A 2 int x = 0; &xは変数xの「アドレス」 「番地」「住所」を返す 変数x 0 &x メモリ空間, 記憶空間 変数xのアド レス(住所) ポインタの裏話 プログラミング演習A 3 ____ / \ 何言ってたんだこいつ? / ⌒ ⌒\ 番地 アドレス ぬるぽ / (●) (●) \ \ / | 、“ ゙)(__人__)" ) __________ \ 。` ⌒゚:j´ ,/ j゙~~| | | | __/ \ |__| | | | || / , \n||

    zbdk
    zbdk 2012/06/04
  • Cでのポインタの読み方

    Cでのポインタの読み方 Cのポインタの読み方は、ルールを知らないと摩訶不思議です。 ルールを覚えれば、 int (*p[5])[3]; char (*(*fp)(void))(int); なんてのも解読する事ができます。 大事な前程 ポインタを読む際には、「英語で読む」必要があります。 「え~、英語~」 と思う方もいるかもしれませんが、逆に日語で読む方が大変です。 基ルール ルール 後置演算子が優先。 関数の() 配列の[] 前置はあとで。 要は、「後ろに何かあったら、後ろが優先」です。 演算子の英語での読み方 * pointer to ... () function returning ... [] array of ... Lesson 1 まず、演算子が単独で出てくる場合です。 Lesson 1-1 pointer to ... int *p; これは、まずpを見ましょう。 i

    zbdk
    zbdk 2012/01/17
  • 碧落 - Win64 開発

    クロスコンパイル可能なコードを書く 前述の通り Win32API と Win64API の間には API として極めて高い互換性があります。 そのためソースコードがクロスコンパイル可能かどうかは 「データモデルの変化が問題とならないよう記述してあるかどうか」 の一点でほぼ決まります。 データモデルの変化が問題とならないように記述するには、 要するに「型のサイズに依存しない」ように書けば良いだけです。 言語仕様上どの型もサイズが決められていない C/C++ の世界では 「型のサイズに依存しない」 という考えは原則に近い作法です (C99 で導入された固定サイズの型は例外)。 そのためこの作法を守って普段から開発していれば特に悩む事もありません。 しかし仮にコンパイラの警告レベルを最大にして型のサイズに関する警告が出ない状態になっても、 実は十分とは言い切れません。 Win64API ではサイ

    zbdk
    zbdk 2012/01/07
  • 少し詳しい型変換の説明

    型変換については、第4章で簡単に説明しましたが、複雑な規則があり、迷うことの多い部分です。ですから、ここで少し詳しく算術型の型変換について説明してみようと思います。 なお、説明中で用いたコードの実行結果は「Borland C++ Compiler 5.5」(int:4バイト short:2バイト char:1バイト)で確認をしています。 1.汎整数拡張 文字型や整数型などの汎整数型の場合、型が、int より小さな場合(char, signed char, unsigned char, short, unsigned short)は、演算の最初に int か、表現できなければunsigned int に変換されます。このとき、符号を含めてその値を変えることはありません。 (例)short a = 30000, b = 30000; printf("sizeof(a) = %d\n", siz

    zbdk
    zbdk 2012/01/06
  • デバッグ

    条件付きコンパイル プリプロセッサディレクティブは、プログラムの一部を条件によって選択してコンパイルする命令があります 条件付きコンパイルによって、柔軟なコンパイルが可能になります 条件付きコンパイルは、ifステートメント同様に 指定された定数式が真であれば、指定範囲をコンパイルします #if 定数式 文 #endif #ifディレクティブは、#endif までの文の並びをコンパイルします ただし、この作業はコンパイルより前にされるため、定数は定数以上の意味を持ちません つまり変数は指定できないということです 定数式の真偽は、ソースコードに直接記述することになります このコードによって、コンパイル処理の流れを変え、デバッグなどに利用することができます #include <stdio.h> #define DEBUG 1 int main() { #if DEBUG printf("Back

    zbdk
    zbdk 2012/01/05
  • ->、*、&、[]演算子って奥深いっすよ

    ホーム < ゲームつくろー! < C++踏み込み編 < ->、*、&、[]演算子って奥深い その1 ->、*、&、[]演算子って奥深い 「->」「*」「&」そして「[ ]」演算子は、ポインタ関連を扱う演算子です。これらの関係を曖昧に捕らえていると、関数の引数や戻り値、演算子のオーバーロードなどで大混乱を起こします。私は・・・起こしました(笑)。そこで、これら演算子の振る舞いをまとめてみました。頭で箱と矢印を描きながらご覧下さい。 ① メンバ選択演算子「->」は右辺値が大事 「->」これはメンバ選択演算子というのだそうです(MSDN)。アロー演算子と呼ぶ人もいます。これは「後置演算子」、つまり演算子の左側の値(左辺値)を使います。 メンバ選択演算子の左辺値に来ることが出来るのは通常「クラスのオブジェクトへのポインタ」です(「通常」じゃない場合については後述)。一般的なポインタ変数(int*型

    zbdk
    zbdk 2011/07/26
  • Google C++スタイルガイド 日本語訳

    Text Drop 翻訳、プログラミング、写真、カメラなどについて書いてます。スタイルガイド/コーディング規約やチートシートなど、ちょっと便利なものを翻訳しています。 TEXTdropでは、C++プログラマーも利用できるパワフルな機能を搭載。C++のコードを書く際に行う手順や避けておきたい工程などを詳しく説明しています。コードスタイルラインの日語版では、日語訳やJ P Yへの換金もサポート。話題性があるオンラインカジノ 日円変換や入金の際のバグにも対応しています。統一性のあるコードを書くためのポイントや規約の種類を参考にする事ができます。

    zbdk
    zbdk 2011/07/11
  • C++ 編(言語解説) トップページ ●Programing Place

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • めも日記(2004-11-26) 実行可能ファイルサイズの最小化

    Noppiのおぼえがき

    zbdk
    zbdk 2010/10/02
  • VC++とGCCのコードの共存 - ikuramuraの日記

    zbdk
    zbdk 2010/10/02
  • スタックの使い方 - 組み込み Linux 開発の手引き - アットウィキ

    #Contents() * main関数のスタックの使い方 C言語でのプログラミングに関する情報は、ネット上で数多く議論されているようですが、C言語で書かれたプログラムがgccによって、どのようなアセンブラ言語にコンパイルされるのか?ということについては、情報が少ないと思います。 スタックの使われ方に注目しながら、まとめてみたいと思います。 次のような単純なC言語のプログラムがあるとします。 #pre(){{ #include int add(int arg1, int arg2) { return arg1 + arg2; } int main(int argc, char *argv[]) { int a; int b; int ret; a = 3; b = 5; ret = add(a, b); return ret; } }} このプログラムをgccでコンパイルし、 $ gcc

    zbdk
    zbdk 2010/09/12
  • C++編(標準ライブラリ)●Programing Place

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • 1