2012-02-14 27 views
1

私のCプログラムでTinyCCを使用すると、C言語をスクリプト言語の一種として使用し、その場でCファイルをリロードし、かなりきちんとしたことを行うことができます...しかし、1つのことは本当に気になります。リンクする。TinyCCを使ってシンボルを自動的にリンクするには?

私は私の通常のtcc_new、およびTCC_OUTPUT_MEMORYとtcc_set_output_typeを行うが、私はこれらの多くが含まれていない場合:すべては非常に限られている

tcc_add_symbol(tcc_ctx, "printf", &printf); 
    tcc_add_symbol(tcc_ctx, "powf", &powf); 
    tcc_add_symbol(tcc_ctx, "sinf", &sinf); 

私は、ホストプログラムのすべてのシンボルを自動的に持ち込む方法が必要です。私は、libcとlibmの最後のすべての関数を手動でリンクする必要はありません。オートリンクやシンボルの追加を容易にするメカニズムは何か。最後のすべてのコンポーネントを手動で削除することなく、libmをコード内でどのように使用することができますか?

私は現在GCCを使用していますが、別のプラットフォームでVisual Studioを使用してプログラムをコンパイルしています。私は完全にTCCに切り替えることができました。

答えて

1

TCCには、基本的なランタイムライブラリlibtcc1が付属しています。あなたの言葉のような基本的な機能が含まれています。したがって、ほとんどの場合、すべての呼び出しを1つのtcc_add_library(tcc_ctx、 "libtcc1.a")で置き換えることができます。

libtcc1は完全ではないため、手動でいくつかの機能を追加する必要があります。

関連する問題