OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
締切り
済み

複数のCのみファイルをリンクし一本の実行ファイルまたはDLLを作成する方法

  • すぐに回答を!
  • 質問No.223194
  • 閲覧数112
  • ありがとう数0
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 32% (60/182)

いつもお世話になっています。
現在、それぞれCのみで作成したファイルをリンクし、ひとつのDLLファイルまたはEXEファイルを作成したいのです。

作成方法はWin98,MS-VisualStudio6.0です。

今まで調べたやりかたでWin32Dynamic・・・
で「シンボルをエクスポートする」で行った場合、
DLLmainが「CPP」になってしまいました。

DLLmainをCで作成したい場合は、やはり空の「シンボルを作成する」にしなければいけないのでしょうか?
網羅する場合はプロトタイプ宣言を外部ヘッダファイルに記述するのでしょうか?

そのサンプルと言うか、詳しく掲載しているサイトがあったら教えてください。
初心者なので、MSDNの説明だと理解に苦しみます。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全2件)

  • 回答No.1
レベル12

ベストアンサー率 45% (210/459)

こんにちは。itohhといいます。 Googleなどで検索すると結構な数がヒットしますよ。 「DLL 作成 VC」で検索した結果をいくつか載せておきますね。 ・DLL作成 http://www2s.biglobe.ne.jp/~maekawa/dev/vc/dll/make.html http://hp.vector.co.jp/authors/VA019517/howtodll.h ...続きを読む
こんにちは。itohhといいます。

Googleなどで検索すると結構な数がヒットしますよ。
「DLL 作成 VC」で検索した結果をいくつか載せておきますね。

・DLL作成
http://www2s.biglobe.ne.jp/~maekawa/dev/vc/dll/make.html

http://hp.vector.co.jp/authors/VA019517/howtodll.html
  • 回答No.2
レベル13

ベストアンサー率 26% (267/1014)

>初心者 とは、WindowsのMS-VisualStudio6.0が初めてであって、ほかのOSやC言語の開発環境は、「知っている」という感じですね。 で、すでにあるCソース(複数ファイル)をリンクして、Winで動作させたい。 と見ました。 (違ったらゴメン) DOSやUNIXのような、CUIの開発環境でmakefileを使っていた人には、あのような統合環境は「いったい何を勝手にやってく ...続きを読む
>初心者
とは、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のツールを作ってしまった人(↓)もいます。
このQ&Aで解決しましたか?
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ