mingwでdllを作って動かしてみる


===========================
// hello.h

 #if defined(__cplusplus)
 extern "C"{
 #endif
 
 void __stdcall hello(void);
 
 #if defined(__cplusplus)
 };
 #endif
===========================

===========================
// hello.cpp

 #include "hello.h"
 #include <iostream>
 
 void __stdcall
 hello(void)
 {
   std::cout << "Hello World!" << std::endl;
 }
===========================

===========================
// main.cpp
#include <stdio.h>
#include "hello.h"

int main()
{
  hello();
}
===========================

>g++ -shared -o hello.dll hello.cpp  ← これでdllができる
>gcc -g -o main main.cpp -lhello -I./ -L./  ← ローカルであっても"dll"の場所を明示しないと動いてくれない

で."main.exe"を実行すれば動く(はず)

# <iostream>を使うものであればg++、そうでなければ gcc でコンパイルは通る