「win32 Console Application」でexeを作成し,実行できるプログラムができると「win32 Dynamic-Link Library」でDLLにして使用しています.
このDLLに変更にする際に同じソースを使うことはできないでしょか.
ふたつの違いはmainのところだけなのですが.
やりたいこととしては,
もし「win32 Console Application」だったら「win32 Console Application」のmainを使い,「win32 Dynamic-Link Library」だったら「win32 Dynamic-Link Library」のmainを使うようにしたいです.
何かよい方法はないでしょうか.
よろしくおねがいします.
プリプロセッサで分ける。というのはダメですか?
#ifdef _CONSOLE
// コンソールmain()
#elif _USERDLL
// DLLmain()
#endif
Console App用とDLL用のプロジェクトをそれぞれ作って
mainのところだけ分けてリンクすればいけそうな気がします。
#VC6なら、↑で作った2つのプロジェクトをワークスペースに
#追加すれば同時に管理できるかも(やったことありません)。
#-> プロジェクト ->プロジェクトをワークスペースに挿入
#-> ビルド->バッチビルド で
keichanさんのやり方ですると_USERDLLが定義されていない識別子のようです.
今のところはかわりにelseを使っています.
_CONSOLEの中身は1のようです.
DLLを使うときは-1を表す識別子を使うとできるような気がします.
-1を表す識別子はあるのでしょか.
17:16:43に書き込んでいただいた方のやりかたでやりたいのですが,やり方がわかりませんでした.
もし分かるのなら,詳しく教えていただけると助かります.
よろしくおねがいします.
DLLを使うときは_USRDLLでした.
keichanさん,ありがとうございました.
あ・・・TYPO・・・
指摘されるまで気付きませんでした^^;
失礼しました。
コンソールのときは「_CONSOLE」
DLLのときは「_USERDLL」
で区別できました.
ありがとうございました.
ツイート | ![]() |