tcc 学習:lua52.dll 利用その他

2017-05-06 :  PCクリニック
Python、C言語、Perl、グルコサミン、Firefox
前(2017-05-05)の記事「tcc 学習:同梱例題その他」に続いて、
dll の利用に関して学習。

前回の
  (4)MinGW で作った自作DLL“test_dll.dll”の利用は?
では、
  “DLL”ファイルから“DEF”ファイルを作る。
と書いた。

そこで、
lua52.dllが使えるか?
に挑戦した。


学習した手順通り:
tiny_impdef  lua52.dll
で、“lua52.def”が出来た。

それで、利用コードの一部を書いてみた:
// ----- k0_call_Lua.c -----
int luaL_newstate( void );

int main(){
int L = luaL_newstate();

char buf[256];
sprintf( buf, "%d", L );
printf( buf );

return 0;
}
これで、
“k0_call_Lua.exe”を作る:
tcc  k0_call_Lua.c  lua52.def
そして、
実行。
確かに state L が出来ているようだ。


他に学習したこと:

システムの「kernel32」「user32」「msvcrt」等の“.def”ファイルは、
(<紙>の場合) D:/TOOL/Euler/tcc/lib/ にあった。


新規に、tcc で、DLL を自作する時は、
MinGW ( Relo2 ) で作るような、シンプルなものではダメ。
#include <windows.h>
#define DLLExport __declspec ( dllexport )
DLLExport int add2( int x, int y ){
// ----- 以下省略
}
の様にキッチリ宣言しておかないとダメ。
なお、
tcc  -shared  hoge.c
では、
“hoge.dll”と同時に“hoge.def”も生成される。


本日はここまで。


tcc ( Tiny C Compiler ) 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


170329
関連記事
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
06 | 2017/07 | 08
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク