The Grimoire of Nonsense

個人的なメモを残すブログ

STLをDLL化するっ

ヘッダにこんな感じで書くといい。

#pragma once

#pragma warning( push )
#pragma warning( disable: 4231 4251 )

#if defined( _WINDLL )
	#define EXPORT __declspec( dllexport )
#else
	#define EXPORT __declspec( dllimport )
#endif

#include <vector>

template class EXPORT std::vector<int>;	// intとか色々書こう

#pragma warning( pop )
#undef EXPORT

デスクトップのアイコン幅を変えよう

デスクトップのアイコン幅を変えたくなったら以下レジストリの値を変えよう!
なお、変更後はExplorerの再起動が必要になるので、タスクマネージャから終了させたり、再ログインしたりする必要がある。

アイコン横幅

HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics\IconSpacing


アイコン縦幅

HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics\IconVerticalSpacing


縦幅を-950くらいにすると幸せになれそう*1

*1:あくまで個人の主観です

Excelで日付の計算をしたい

Excelで日付の計算をしたい時はDATEDIF()*1関数を使う。
Excel先生曰く、Lotus 1-2-3互換の為の関数らしい。
関数の読み方はデートディフと読むそうで。


関数の使い方は以下

=DATEDIF( 開始日, 終了日, 単位 )

単位は文字列で"Y"や"M"などを指定する。


詳しい詳細は以下から(手抜き)support.office.com

*1:なおこの関数は、「関数の挿入」に表示されないので、手入力で入力する必要がある

.dllや.libがエクスポートしている関数を調べる

お馴染みdumpbin先生を使いエクスポートしている関数を調べる方法。

dumpbin /exports (対象ファイル)

を使いエクスポートしている関数を調べることが出来る。
dumpbin先生の凄い所は.libファイルも見れてしまうこと*1

ただし、.libについては/GLオプションが付加してコンパイルしたものに関しては見れないよう*2

P.S.
前にこれのDLLだけバージョンを書いてたっぽい。
もう歳だからしょうがないね……(言い訳)