c#(Windowsフォームアプリケーション)からc++の関数を利用しようと考えています。
方法としては、cppからdllを作成し、それを利用しようと考えています。
dllを作成する際は、c#で使用したいcppの関数に「extern "C" __declspec(dllexport)」を追記すると思うのですが、
自作ヘッダーファイル(例のx.h、y.h、z.h)にも何か追記する必要があるのでしょうか(自作ヘッダーファイルの中身に何か追記する必要がある?)?
それとも、自作ヘッダーファイルは特に何も追記する必要がなく、dllを置くディレクトリと同じ場所に置いておくだけでいいのでしょうか?
お手数をおかけしますが、ご教示お願いいたします。
example.h
1#ifdef __cplusplus 2#define DLLEXPORT extern "C" __declspec(dllexport) 3#else 4#define DLLEXPORT __declspec(dllexport) 5#endif 6 7DLLEXPORT int __stdcall add(int a, int b);
example.cpp
1#include<stdio.h> 2#include<string.h> 3 4#include"example.h" 5 6//x.h、y.h、z.hの前にも何か追記する必要がある? 7//それとも、x.h、y.h、z.h各ヘッダーファイル内で何か追記する必要がある? 8//x.h、y.h、z.hは、dllを置くディレクトリと同じ場所に置いておくだけでよい? 9 10#include"x.h" //自作ヘッダーファイル 11#include"y.h" //自作ヘッダーファイル 12#include"z.h" //自作ヘッダーファイル 13 14 15DLLEXPORT int __stdcall add(int a, int b) 16{ 17 return a + b; 18}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/02/08 04:05