Gobble up pudding

プログラミングの記事がメインのブログです。

MENU

C++

Visual C++でのDLLの一般的な作成方法(暗黙的リンク)

2016年02月07日更新 https://msdn.microsoft.com/library/81h27t8c(v=vs.110).aspx によるとメンバーに対してdllexportはだめらしいので追記。 また、main側サンプルコードが中途半端だったので、C++03以前で書きました。古い環境で開発せざるを得ないことも…

WIN32APIだけでノベルゲームエンジン

WIN32APIとC言語だけでここまでのものが作れるなんてってことで、今回はプログラムの紹介記事です。 なにかとここのプログラムでゲームプログラミングを勉強させていただいています。 WindowsでのめんどくさいVC++でのDLLの作成もしていますので、勉強になる…

STL入門 第5回 ~map編~

今日はmapです。巷ではdictionaryとか言ったり、連想配列とか言われてるあれです。巷ってどこだー。くしゃみが止まりません(;´・ω・)過去のSTLの記事はこちら↓STL入門 第1回 ~algorithm編~ - Gobble up puddingSTL入門 第2回 ~vector編~ - Gobble up puddi…

STL入門 第4回 ~list編~ 2

過去のSTLの記事はこちら↓STL入門 第1回 ~algorithm編~ - Gobble up puddingSTL入門 第2回 ~vector編~ - Gobble up puddingSTL入門 第3回 ~list編~ - Gobble up puddingJavaScriptを勉強してる私です。しかしCSSがちょっとわかってないことに気付いた…

第4回 生成に関するパターン Prototype

Design Patterns 第4回 生成に関するパターン Prototype 前回のリンク 第1回 生成に関するパターン Builder - Gobble up pudding第2回 生成に関するパターン Factory - Gobble up pudding第3回 生成に関するパターン Abstract Factory - Gobble up pudding …

第3回 生成に関するパターン Abstract Factory

Design Patterns 第3回 生成に関するパターン Abstract Factory 前回のリンク 第1回 生成に関するパターン Builder - Gobble up pudding第2回 生成に関するパターン Factory - Gobble up pudding 生成に関するパターン Abstract Factory Abstract Factoryパ…

第2回 生成に関するパターン Factory

Design Patterns 第2回 生成に関するパターン Factory 前回のリンク 第1回 生成に関するパターン Builder - Gobble up pudding 生成に関するパターン Factory 単一の派生クラス群からインスタンスを生成するユーティリティクラス ファクトリーデザインパター…

第1回 生成に関するパターン Builder

Design Patterns 第1回 生成に関するパターン Builderデザインパターンの本を買いましたが、 コードが断片化して書かれているためか理解できず……。 そんなとき、海外のサイトでいいサンプルを見つけたので、 翻訳して、ソースコードをちょっと変えて載せてお…

C++の名前空間と前方宣言について

最初にざっくり説明すると、C++の名前空間はC#にある名前空間と同じ概念です。Javaでいうとpackageに近い概念です。 前方宣言(forward declaration)はC++特有のものだとおもわれます。 前方宣言について あるクラスで包含(コンポジション: Composition)をし…

STL入門 第3回 ~list編~

過去のSTLの記事はこちら↓STL入門 第1回 ~algorithm編~ - Gobble up puddingSTL入門 第2回 ~vector編~ - Gobble up pudding入門記事というよりただの自分の勉強記録になり下がってるのは仕様です。listはSTLコンテナでvectorに似ています。シーケンシャ…

STL入門 第2回 ~vector編~

第1回目はこちら↓STL入門 第1回 ~algorithm編~ - Gobble up puddingってかこっちのほうが第1回っぽいのは気にしないでください。STLにはコンテナというテンプレートクラスでできているオブジェクトの入れ物があります。 大きく分けて、シーケンスコンテナ(…

プログラムからBitmap画像を扱う(VC++) 1回目

今回使う画像です。使う画像は背景をキャプチャして切り取ってビットマップ(Bitmap)として保存したものです。ここからDLしたものを使わせていただきました。 デスクトップの背景 - Microsoft Windows 何回かに分けてビットマップ画像を扱う特集をやろうと思…

TopCoderはじめてみました SRM516 Div2 Easy NetworkXZeroOne

TopCoderっていう競技プログラミング的なものがあるんですが、 僕はアルゴリズムってか考える力が少し弱いと思ったので、気が向いたら今後もやろうと思います。 競技プログラミングと聞くとすごい敷居が高いように感じられますが(もちろん上級向けの問題は…

C++11が便利すぎる 正規表現 ~regex編~

C++11になってから複雑怪奇さをより増した一方で、 実はめちゃくちゃ使いやすく便利になっていることに最近気づき始めました。 ここで紹介するコードはC++11に対応しているものでないと実行できません。 Visual Studioだと2013以降です。 g++だと -std=c++11…

C/C++で行数を数えるときの注意とwcコマンド

C/C++を使っているとファイルを読んで、メモリ上にデータを格納したいときに メモリをどのくらい確保する必要があるか調べるのに行数を数えることが多いかと思います。 だいたいは以下の様なコードを書かれたことが多いのではないのでしょうか? 私はよほど…

STL入門 第1回 ~algorithm編~

C++使うなら最低限STLくらいは知らないといけないだろうということで勉強中です。 STLくらいっていうけど結構ここから険しい道の入口なんですけどね…。 他の言語に比べて気持ち悪いシンタックスが増えるし、 どういうわけか覚えにくい……なんでだろ。 そんな…

C++でファイル読込み パターン別まとめ

C++

C++でのファイルの読み込み方法のまとめです。 よく使われるCでもできる方法以外の 標準C++ライブラリを使ったファイル読込み方法です。 Visual C++ 2013とg++で確認しました 4パターン用意しました。 1. char *型に一行ずつ読込む 2. string型に一行ずつ読…

Direct2DとWindows Imaging Component(WIC)で透過PNGを表示

Direct2Dを使ってPNG画像を表示するいい方法はないか模索していたところ、 Windows Imaging Component(WIC)というのを見つけましたが、しばらくこれどうやって使うの? 状態が続いており、いろんなサイトを読んでみるも挫折…… と思ったところ神!!!といえ…

デフォルトで用意されているプロジェクトのコード修正 Visual Studio

Win32 プロジェクトのInitInstance内のインデントがおかしい……。 どのバージョンで同様のことがおこっているかわかりませんが Visual Studio 2013では 新規作成でのウィザードからWin32 プロジェクトを作ると自動で作られるひな形の BOOL InitInstance(HINST…

MSXML 6.0を使ってみた。

Microsoft謹製のMSXML 6.0っていうXMLパーサを使ってみましたよ。 っていうかこれマジモンのCOMじゃないすか。かかわりたくない。COM…。 BSTRとかVARIANTとか出てくるのでびみょーな感じです。回避方法あるのかもしれないですが。調べようと思ったけど英語の…

DirectX(DirectX 9)とWindows SDKについて

Windows8(Windows7も含む)DirectXを使おうとしてちょっとあれれってなったので記事を書きます。 DirectXで開発するためにはDirectX SDKが別途必要です。当然ランタイムだけではダメです。 しかし、Windows7以降はWindows SDKと統合されているので、Visual St…

Win32++を使ってみた

毎回自分でWIN32APIのひな形だったり めちゃくちゃ薄いラッパー書くのめんどくさいですよね。 …WIN32APIのひな形だけならVC++が自動で作ってくれるけどもC言語の構造化プログラム丸出しで あぁ…って感じのしか作れないから……。 かといってATLやMFC使うまでも…

libpngライブラリを使ってみた。

2013/12/29日時点の記事です。 libpngをVisual C++ 2012で使ってみました。 途中でCygwinを使って作業した関係で/と\の表記がぐちゃぐちゃになっていますが許してください。 libpng使い方 For Visual Studio 2012(VC++) 必要なもの Visual Studio 2012(他バ…

コピーコンストラクタ&代入演算子のオーバーロード復習

基本に立ち返ってC++の復習です。 個人的にあんまり使わない機能のコピーコンストラクタ&代入演算子の使い方。 独習C++のサンプルをちょこっと変えてコードを書いてみました。 これらの機能の使い時はメンバにポインタが含まれていて、 参照先が同じ値(アド…

自動領域確保1次元配列クラスを作ってみた。

要は劣悪std::vectorみたいなクラスです。 なんかまずいコードが混じってる気がする。 特にset用のoparator()()がまずい気がする…。 長さの管理が投げやりな感じでダメダメっぽい。 vectorみたく倍々でallocしてったほうがいい気がします。 コピーコンストラ…

C++で2次元配列(文字列)の動的確保

前回のC言語C言語で2次元配列(文字列)の動的確保 - Gobble up puddingで2次元配列(文字列)の動的確保の続きです。 C++のnewによる前回説明したパターンと同じやり方です。 mallocの代わりにnewを使います。mallocを使う場合はC++ではキャストが必要になり…

C/C++でファイル一覧を再帰的に取得する方法

C/C++でファイル一覧を指定したディレクトリから再帰的に取得するソースです。 WindowsとLinuxで共用できるように書いてます。 bool traverse(const char* filepath, const int maxdepth, int curdepth); が今回のファイル一覧を再帰的に取得する処理です。 …

マージソートの実装

作業記録的なものです。ひどいコードなので、ネットにさらすのもためらわれますが、 とりあえず、マージソートを自力で実装してみました。 誰が書いてもこの程度のアルゴリズムじゃ同じよーな実装になりますね(;'∀') VC++だと、templateを使ったときにinclus…