確かに自分で書いたんだけど、使っていないものは忘れるちゃうなぁ(苦笑)
VC++のメモの目次を見ていたら、ファイル関連の関数をまとめたものがあった。(「あった」って、アンタ…(汗))
APIなんて滅多に使わないから、見覚えの無い関数がごろごろ(ぉぃ)
メモしておいてよかったなぁ(笑) いつか使うことがあるかもしれないし…
…そんな日は来るかな(爆)
で、せっかくなのでプログラミング言語比較のページと相互リンク(笑)してみた。
確かに自分で書いたんだけど、使っていないものは忘れるちゃうなぁ(苦笑)
VC++のメモの目次を見ていたら、ファイル関連の関数をまとめたものがあった。(「あった」って、アンタ…(汗))
APIなんて滅多に使わないから、見覚えの無い関数がごろごろ(ぉぃ)
メモしておいてよかったなぁ(笑) いつか使うことがあるかもしれないし…
…そんな日は来るかな(爆)
で、せっかくなのでプログラミング言語比較のページと相互リンク(笑)してみた。
VC++のプロジェクトの設定方法に、VC++6.0の分を追加。
一番長く使っているのがVC++4.0で、.NETを触る機会があって、今回はVC++6.0が回ってきた。順序が何か変だけど(爆)
4.0と.NETの(見た目の)違いが大きすぎて、4.0と6.0はそっくりに見える(笑)
設定方法もかなり4.0と同じ。多少メニューの配置が違う程度かな。
そういえば、ダイアログのエディターの動作がちょっと違ってた。
コントロールをダブルクリックすると、4.0ではプロパティが開いていたのに、6.0ではイベントの関数を追加するようになっていた。
ボタンのコントロールでは6.0の方が断然便利だけど、テキストボックスやスタティックテキスト(ラベル)では4.0の方が便利。融通利かないなぁ(苦笑)
どうせなら、テキストボックス等の値の入出力を行うコントロールは、DDEの変数を割り当てるダイアログが出るようにしてくれればよかったのに。
まぁ一番大きな違いは関数群やコンパイラーの動作なんだろうけど、これは使いこなしてみないと分からないしなー。
DLLの序数について知ったついでに、VBAから序数を使った呼び出しが出来ることを知った。
もっとも例の大半はWin32APIで、それはバージョンによって序数は変わることがあるらしいので、序数を使った呼び出しはしない方がいいっぽい。
逆に言えば、バージョンアップのことを考えるなら、DLLを作る際には序数を固定化するようにした方がいいってことでしょうねぇ。
VC++でのDLLの明示的(動的)リンクの方法について追加。
defファイルを作るのが面倒だったので暗黙的(静的)リンクしかやってなくて、
今回明示的(動的)リンクをやってみて『序数』というものの存在を知り、
するとdefファイルが重要だということが分かった(汗)
それにしても「暗黙的リンク」という言葉には騙されていた(爆)
「リンク」と言えばリンカーで行う作業だと思っていたので、
明示的リンク→リンカーでlibファイルを指定する方法(リンク時に決まるので、静的)
暗黙的リンク→リンカーでlibファイルを指定しない方法(実行時に決まるので、動的)
だと勘違いしていた……動的・静的は合ってると思うんだけど。
実際はDLLのロードのことを、Dynamic Link Library:あくまでライブラリなので、実行時であってもリンクと言う、のかなぁ…。
暗黙的リンク→実行時に自動的(暗黙)にDLLがロードされる
明示的リンク→DLLのロードをプログラマーが(明示的に)コーディングする
ちなみに自分の感触としては、基本的には暗黙的(静的)リンクを使う方が(コンパイル・リンク時点のチェックがしやすいから)よくて、仕様的に明示的(動的)リンクしか出来ない場合は動的リンクを使うのが良さそう。
この辺りのことをDLLの補足としてまとめてみた。