
いつもお世話になっています。
現在、それぞれCのみで作成したファイルをリンクし、ひとつのDLLファイルまたはEXEファイルを作成したいのです。
作成方法はWin98,MS-VisualStudio6.0です。
今まで調べたやりかたでWin32Dynamic・・・
で「シンボルをエクスポートする」で行った場合、
DLLmainが「CPP」になってしまいました。
DLLmainをCで作成したい場合は、やはり空の「シンボルを作成する」にしなければいけないのでしょうか?
網羅する場合はプロトタイプ宣言を外部ヘッダファイルに記述するのでしょうか?
そのサンプルと言うか、詳しく掲載しているサイトがあったら教えてください。
初心者なので、MSDNの説明だと理解に苦しみます。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
>初心者
とは、WindowsのMS-VisualStudio6.0が初めてであって、ほかのOSやC言語の開発環境は、「知っている」という感じですね。
で、すでにあるCソース(複数ファイル)をリンクして、Winで動作させたい。
と見ました。
(違ったらゴメン)
DOSやUNIXのような、CUIの開発環境でmakefileを使っていた人には、あのような統合環境は「いったい何を勝手にやってくれているのか?」がわからなくて、「ちゃんとした説明があれば、自分でできるのに」と、とっつきにくいです。
私は、以前上記のようなことをやりましたので、その方法を・・・
まず、拡張子CPPのファイルの中にC言語ソースプログラムを書いても何ら問題ありませんので、認識してください。
>空の「シンボルを作成する」にしなければいけないのでしょうか?
しなくてもいいですが、サンプルコードが作成されますので、参考にしやすいです。
「シンボルをエクスポートする」で、プロジェクトを作成、既存のCファイルを拡張子Cppにして、ワークスペースのファイルビュー(ファイルがツリー状態で表示されている)のソースファイルのところで右クリック、cppファイルを追加してゆきます。
エクスポートするための定義が(xxx.h)の中に(XXX_APIのような形で)defineされてありますので、外部から利用したいシンボルの前につけます。
xxx.cpp のサンプルどおりにすればよい。
特にDLLの初期化や終了時のコードがなければ、xxx.cppは、ほうっておく。
このファイルにプログラムを書いてもいいが、既存のファイルであれば、その必要はないですね。
>網羅する場合はプロトタイプ宣言を外部ヘッダファイルに記述するのでしょうか?
全部のシンボルを外部利用可能にするなら、全部につけます。プロトタイプ宣言は、その関数が使われる前であれば、外部ヘッダファイルでなくてもよい。(MSCと同じです)。まぁ、外部ヘッダファイルのほうが、管理しやすいと思いますが・・・
>そのサンプルと言うか、詳しく掲載しているサイトがあったら教えてください。
これは、ANo.#1のitohh さんの回答がいいと思います。
あとは、プロジェクトをビルドすると、コンパイル&リンクされ、プロジェクトの設定で指定した場所にDLLファイルが作成されますので、外部プログラムから、変数や関数を利用できます。
#ちなみにVC6.0 は、MSCバージョン12です。統合環境でなくても、Winアプリを作成できます。
#あの統合環境が嫌いで、エディタでソースを書いて、DOS窓でmake(nmake)している人や、
#自分流で使いやすいGUIのツールを作ってしまった人(↓)もいます。
参考URL:http://www.arcpit.co.jp/apmake_0.htm
No.1
- 回答日時:
こんにちは。
itohhといいます。Googleなどで検索すると結構な数がヒットしますよ。
「DLL 作成 VC」で検索した結果をいくつか載せておきますね。
・DLL作成
http://www2s.biglobe.ne.jp/~maekawa/dev/vc/dll/m …
http://hp.vector.co.jp/authors/VA019517/howtodll …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) IT初心者です 仕事で、vb.netで作成されたdllをvbaで呼び出すプログラムを作成しろと言われ 1 2023/03/27 08:22
- ホームページ作成・プログラミング ホームページ作成について。「ワードプレスではありません」。 3 2023/08/13 14:44
- Excel(エクセル) エクセルでのアクセス履歴をとりたいです 1 2022/06/13 17:30
- サーバー Laravelをレンタルサーバーにインストールするにはどうすればいいですか? 2 2022/06/29 10:17
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) Excelでデータを抽出するに良い方法 9 2023/02/06 12:42
- PDF PDFに精通した方に質問。JPEGファイル群を一つのPDFファイルにするときの容量変化について 6 2023/07/23 19:06
- その他(コンピューター・テクノロジー) Power Shellコマンドで作成日時を一括シフトする方法 3 2022/10/21 12:37
- Windows 10 Windows10のメタデータの「メディアの作成日時」は、タイムゾーンによって表示が変わりますか? 3 2022/06/21 02:30
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/21 09:42
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
すぐに書き込みくださいまして...
-
VBにてexeを実行させる方法
-
VBのexeファイルをIEで見れるよ...
-
アイコンを変更したい
-
.netの作業フォルダ変更
-
自作したActiveXの配布&インス...
-
ダイアログベースアプリのDLL化...
-
C#での単体テストの置き場
-
C#のクラスライブラリのIntelli...
-
VBの作成データの配布について
-
VB6 exeファイルのプロパティの...
-
プログラムの連携に関して
-
排他処理について
-
他の.CPPファイルに定義した関...
-
midiファイルを生成するソフト...
-
ソースから参照しているOCXの一...
-
VB.NETで他のプロジェクトで作...
-
VBソースを表示できない。
-
このプロジェクトを SourceSafe...
-
Androidのプロジェクト作成がで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NETで他のプロジェクトで作...
-
コンパイルするときに、ファイ...
-
エラーの原因は?「この関数の...
-
他の.CPPファイルに定義した関...
-
ソースから参照しているOCXの一...
-
VC++でexeファイルが作成できま...
-
ACCESSのEXEを作るのは可能...
-
VB.NETでActiveX(OCXファイル)作成
-
Visual Studioでプロジェクトが...
-
stdio.hをオープンできない…
-
C#のクラスをVB.netで使用したい!
-
VisualBasicを保存するときにで...
-
VB6 exeファイルのプロパティの...
-
VS2010 ProductVersion 変更
-
同じソースコードなのにバイナ...
-
プリコンパイル?
-
Wingdi.h Windows.h を開くには?
-
VC++ 2010でlog4cxxビルドできない
-
VB6.0の別名保存について
-
プロジェクトフォルダ名の変更...
おすすめ情報