tcc 学習:同梱例題その他

2017-05-05 :  PCクリニック
Python、C言語、Perl、グルコサミン、Firefox
前(2017-05-03)の記事「tcc - Tiny C Compiler」の後、
ドキュメントに従って、同梱の例題や自前のプログラムを作ってみた。


先ずは、doc フォルダにある「tcc-win32.txt」で学習。


(1)システム PATH に登録:

取り敢えずは DOS 窓内のみで、<紙>の場合は、

  set path=%path%;D:\TOOL\Euler\tcc


(2)同梱サンプルのコンパイル:

examples フォルダにある「fib.c」を作業場所に持ってきた:
#include <stdio.h>
int fib( n ){
if( n <= 2 ) return 1;
else return fib(n-1) + fib(n-2);
}
int main( int argc, char **argv ){
int n;
if( argc < 2 ){
printf("usage: fib n\n"
"Compute nth Fibonacci number\n");
return 1;
}
n = atoi( argv[1] );
printf( "fib(%d) = %d\n", n, fib(n) );
return 0;
}
見た目の変更を加えた。

これに対して、

  tcc fib.c

と打ち込むと、

  tcc.exe

が出来る。

後は普通に実行出来る。

ここで、1行目の #inclede 文は無くても行ける。


更に、
(3)「tcc-win32.txt」には、興味深い事が載っている:

  Using libtcc as JIT compiler in your program

これは、もっと学習が必要ダ。


次に、
3月(2017-03-11)の記事「SpiderMonkey/js-ctypes 学習」でも使っている、
(4)MinGW で作った自作DLL“test_dll.dll”の利用は?

(1) 最初に“test_dll.dll”から“test_dll.def”を作る。
tiny_impdef  test_dll.dll
これだけ。

(2) 利用コードを書く:
// ----- use_dll.c -----
int Add( int x, int y ); // test_dll.dll 内にある関数
int main(){
int z = Add( 2, 5 );

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

return 0;
}
最低限?

そして、.exe を作る
tcc  use_dll.c  test_dll.def
これで、
“use_dll.exe”ができる。

この時、“test_dll.dll”が PATH の通った処にあれば、

“use_dll.exe”は正常に実行できる。


本日はここまで。


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


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


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

コメントの投稿

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

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



おきてがみ

最新記事
カレンダー
05 | 2017/06 | 07
- - - - 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 -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

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

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


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

Google Analytics
ブックマーク