HSPでDLLのテストをしてみました

HSP3.1でDLL導入のテストをしてみたのですが、
すごく簡単になってました。



_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

== Cのソース(VC++) ==

#include
#define EXPORT extern "C" __declspec (dllexport)

EXPORT int warizan(double *x, int n, int n2)
{
int i;
*x = (double)n / (double)n2;
return 0;
}


== HSPのソース ==

#uselib "DLL_TEST.dll"
#func warizan "warizan" var, int, int

warizan x, 100,25

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/



本当に、これだけでいけますね。


HSP2.6のときなんて、DLLを使うとなったら、
やれ、hspdll.h やら hsp2lib.lib を使えだの、
やれ、タイプ名を番号で入れろだの、
大変分かりにくかったですけれど。


ハマリポイントは、#funcの書き方ですかね。
引数の最初の2つは「スペース」、
残りの引数は「カンマ」で区切ります。
ヘルプを見ても気づきにくくて、はまりますねorz


(1) Easy3D の C++版は使いたい
(2) でもHSPコンテストには出したい…



_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#uselib "ロコ.dll"
#func Init "Init" int
#func MainLoop "MainLoop" int

screen
Init 0
MainLoop 0
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/


こんなの出したら、HSPコンテストTVが
微妙な空気になってしまいますね(汗)






         HSPコンテスト TV


    (;・_・)(-・-_-・-)(−_−;)