2016年02月07日更新 https://msdn.microsoft.com/library/81h27t8c(v=vs.110).aspx によるとメンバーに対してdllexportはだめらしいので追記。 また、main側サンプルコードが中途半端だったので、C++03以前で書きました。古い環境で開発せざるを得ないこともあるので 今回はVisual C++でのDLLの一般的な作成方法についての記事です。 DLLの作成方法や使い方にはいくつか方法がありますがもっとも一般的なのを紹介します。 Windowsでgcc以外でダイナミックリンクライブラリを作ろうとするとわりと面倒です。 今回は暗黙のリンクと呼ばれる方法と実装を説明します。 ※ただしこの方法は個人だけで開発する場合だったり規模が小さい場合だったりの場合で、明示的リンクのほうが適している状況もあります(後述)。 暗黙的リンクの概要
bindが今までイマイチ理解できてなかったけど、書いてみたら一発で理解。 要は、function(関数ポインタ/関数オブジェクト/ラムダ式)の引数を束縛して新しいfunctionオブジェクトを生成してるのね。 #include <functional> #include <iostream> using namespace std; void Func(int a, int b) { cout << a*b << endl; } int main(){ // intの引数1つのfunction function<void (int)> func; // int引数2つのfunctionの片方を定数(3)で束縛して、int引数1つのfunctionに入れる func = bind(Func,placeholders::_1,3); // 動く func(4); return 0; } 出力結
FileSystemObject。よく使うんだけど、メソッド名とかがいつも思い出せなくなるので、ここにまとめて書いておく。 FileSystemObjectって何? Windowsでファイルシステムを簡単に扱えるようにするためのコンポーネント。最近のWindowsなら最初から標準で入ってる。 VB6やVBA、あとJScript/VBScript(WSHやASP)でよく使う。JScript/VBScriptでファイルシステムを扱いたい場合、通常はこれを使うしかないと思う。VB6は標準でファイルシステムを扱う関数とかがあるけど、使いにくいので(Openとか使いにくいよね?)FileSystemObjectを使った方がいい。VC++は知らない。.NETには標準で便利なクラスがあるのでFileSystemObjectは使わない。 インスタンス化 まずはインスタンス化しないと使えるようにならない。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く