• ベストアンサー

CファイルとCPPファイルのDLL作成

y_heroheroの回答

回答No.1

コンパイラは何を使用しているのですか?

sting
質問者

補足

説明不足ですみません・・VC++6.0です。

関連するQ&A

  • dll作成

    Visual studio2012利用し、 Win32プロジェクト から DLLを選んで、テンプレートに、関数を記入。ヘッダファイルを追加し、そこに関数の宣言を書いた。 ビルドすると、Debugフォルダに.dllは作成され、exeファイルが作成されない。 デバックなしで開始するとdllは開始できません。とメッセージがでます。 作成されたdllファイルの開始の仕方を、教えてください。

  • Cで作成したDLLからC++内で関数を利用する。

    こんにちは。 Cで作成したDLLをC++で呼び出してその関数を使いたいのですが、リンクがうまくいきません。 externを使えばいいのですか?? 具体的な使い方が分からないので、教えてください。

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

    いつもお世話になっています。 現在、それぞれCのみで作成したファイルをリンクし、ひとつのDLLファイルまたはEXEファイルを作成したいのです。 作成方法はWin98,MS-VisualStudio6.0です。 今まで調べたやりかたでWin32Dynamic・・・ で「シンボルをエクスポートする」で行った場合、 DLLmainが「CPP」になってしまいました。 DLLmainをCで作成したい場合は、やはり空の「シンボルを作成する」にしなければいけないのでしょうか? 網羅する場合はプロトタイプ宣言を外部ヘッダファイルに記述するのでしょうか? そのサンプルと言うか、詳しく掲載しているサイトがあったら教えてください。 初心者なので、MSDNの説明だと理解に苦しみます。

  • DLL内からの外部変数の参照

    BCC(フリーコンパイラ)で、WindowsAPIを使った プログラムを作成しています。その過程で、DLLを 作成しているのですが、 test.c を、 bcc32 -WD test.c とし、test.dllを作成しました。 さらにそれを、 implib test.lib test.dll で、test.libを作成ました。 ところが、おなじtest.cファイルで、ほかのファイル の変数を参照しようとして、extern HWND hWnd と書き加えたところ、bcc32 -WD で、参照先が見つか らないというエラーが起こり、DLLが作成できなく なってしまいました。 DLL内から外部の変数を参照するにはどうしたらよいで しょうか。この場合の外部の変数というのは、WinMain 関数のあるmain.cファイル内の静的変数です。 よろしくお願いいたします。

  • Cの関数からC++の関数(DLL)を呼ぶ方法について

    C++関数からCの関数を呼ぶには extern "C" を使うのはわかるのですが C関数からC++の関数を呼ぶ方法がわかりません。 『外部参照 1 が未解決』になってリンクが出来ません。 ちなみにC++の関数はDLLで、他のC++関数からは呼ぶことも実行出来ることも 確認済みです。 よろしくお願いします。

  • Cで作成したDLLをVBで呼出

    Cで作成したDLLの関数をVB6.0から呼び出す事ができず、悩んでおります。 ご教授お願いします。 どの様な関数を呼び出そうとしているのかというと、以下の通りです。 <DLL Cで作成(コンパイラVC6)> void WINAPI hoge(BSTR pgname,BSTR fmt,...){ ~処理~ } /* 宣言では頭にDLLExport*/ <呼出側 VB6.0で作成> '宣言 Public Declare Function hoge Lib "hoge" _ (ByRef pgname as String , _ ByRef fmt as String , _ ParamArray args()) '呼出 call hoge("foo","baa","array1",2) この様なコードを書いております。 C側、VB側ともに固定数の引数にしてみたところ、 通ったので「ParamArray args()」の定義が違うのではないか・・・?と思っているのですが、 どの様に宣言したらよい物なのでしょうか? もしくは、そもそも全然違う箇所を間違っているのでしょうか? 宜しくお願いします。 ※ 説明の足りない箇所があれば、仰ってください。

  • C#からC++のDLLを使いたい時

    C#からC++(unmanaged)のDLLを使いたい時、 DLLをどのように参照すればよいのでしょうか。 [DllImport("名前.dll")] extern static double 関数名(); という指定は分かるのですが、 それだけじゃもちろん、 「DLL (名前.dll) を読み込めません。」 ってなりますよね・・・。

  • AccessVBAからC言語のDLLの呼び出し方

    初心者です。はじめまして お世話になります。 概要:C言語で作成したDLLをVBAで呼び出す。 タイトルの通り、C言語で作成したDLLをVBAで呼び出したいのですが、うまく 呼び出すことができず、「エラー番号:49 DLLを正しく呼び出せません。」 というエラーが返ってきてしまいます。 DLLの作成手順もしくはDLLの呼び出し方でおかしな所があればご指摘頂けない でしょうか? C言語のDLL、作成手順は以下の通りです。 DLL作成環境:Visual C++ 6.0 DLL作成手順----------------------------------------- (1)プロジェクトをDLL用に作る  新規作成→プロジェクト→Win32 Dynamic-Link Library→空のDLLプロジェ クト (2)ファイル追加  ソースファイル+すべてのヘッダファイルを追加 (3)DLLを出力対象の関数に「_declspec(dllexport)」をつける 例)------------------------------------- _declspec(dllexport) short dlltest (char *str1, char *str2) --------------------------------------- (4)char を unsigned char へ変換する(/J コンパイルオプション) (5)プロジェクトをデバッグモードからリリースモードに切り替える (6)ビルド実行 (7)「Release」配下に.dllとlibができる。 -作成手順完----------------------------------------------------- 実際のVBAのDLLの呼び出しは以下の通り行っています。 -AccessVBAにてDLLの宣言及び、呼び出し------------------- '呼び出し宣言 Public Declare Function dlltest _ Lib "C:\Project\Dlltest\Release\dlltest.dll" _ (ByVal st1 As String, _ ByVal st2 As String) As Integer 'DLL呼び出し KEKKA = dlltest(string1, string2) -呼び出し完------------------------------------------------ これで実行するとエラーが返されていまいます。 なにぶん、初心者で今回初めてVBAでのプログラミングを行っているので観点 の抜けなどが多分にあると思われます。 どんな小さなことでもご指摘頂けないでしょうか? 宜しくお願い致します。

  • cppファイルを直接visual studioで開き、ビルドするには?

    cppファイルを直接visual studioで開き、ビルドするには? 私はvisual studio 2008を使ってプログラミングをしています。 いつもみたいに、プロジェクト作成→cppファイル作成って流れでやると普通に(ビルドやデバッグが)できるのですが、 プロジェクトを作成せず、裸のcppファイルだけをvisual studioで開くと、ビルドとか何もできません。実行して、コンソール画面を出したいのですが…。 出来る方法はあるのでしょうか? また、どうしてこの方法ではできないのかも、教えてくれるとありがたいです。 よろしくお願いします。

  • DLLファイルを分けたい

    Win2K VC++ 6.0 でDLLを作成しています。 現在DLLの関数が多すぎて作業しにくいですが、 3つに分けたいですが可能でしょうか。 Test.def Test.h Test.cpp Test.defの中身  FunA FunB FunC FunD FunE FunF FunA,FunB ==> A.CPP FunC,FunD ==> B.CPP FunE,FunF ==> C.CPP にしたいですが、方法がわかりません。