問題タブ [tcc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
391 参照

c - コンパイラtccを使用してウィンドウにgslライブラリを追加する方法は?

現時点では、次のコマンドを使用して Windows コマンド プロンプトを使用して、基本的な「Hello World」プログラムをコンパイルして実行できます。

に続く

ここで、test は、"Hello World"プログラムのコードを含むファイルの名前です。

tccフォルダを c:\ ドライブの上にインストールしました。ライブラリを実行する必要がある別のプログラムがありますが、gslライブラリをどこから、どのように正しくインストールするか、プログラムのコンパイルおよび実行時にライブラリを呼び出す方法がわかりません。

0 投票する
1 に答える
361 参照

c - TCC 経由で C をコンパイルするときの GLFW gl.h エラー

TCC で単純な GLFW プログラムをコンパイルしようとすると、gl.h ヘッダーでエラーが発生します。

コンパイルに使用しているコマンドは

このコマンドの完全な出力は次のとおりです

そして、これが私がコンパイルしようとしている簡単なプログラムです

何か間違ってリンクしていますか?または、リンクするはずのものをリンクしていませんか?コンパイル パラメータの何が問題になっていますか?

0 投票する
1 に答える
82 参照

c - 構造体を使用しても出力が同じにならないのはなぜですか

最新バージョンの TCC (tcc-0.9.26-win64-bin.zip)を使用しています。何らかの理由で、このコードの出力は私が期待しているものではありません (同じです)。

私はスクリプトを実行します:

evalで問題なく動作するので、何が間違っているのでしょうか?

0 投票する
0 に答える
345 参照

cmd - cmd で TCC (Tiny C Compiler) を実行するには?

cmd で小さな C コンパイラを使用しようとしていますが、cmd で tcc ファイルを見つける方法を忘れてしまいました。cmd を tiny c コンパイラにリンクするにはどうすればよいですか?

0 投票する
0 に答える
451 参照

c - C - tcc が commdlg.h でエラーを検出しますか?

OPENFILENAME を組み込んだ C プログラムを作成しようとしていますが、もちろんヘッダー ファイルが必要です。そこで、tcc で提供される指示に従って、MinGW が Win32 API に使用するヘッダー ファイル (およびライブラリ ファイル) をダウンロードし、指示に従って適切なディレクトリに配置しました。ただし、プログラムをコンパイルすると、次のエラーが発生します。

これが標準ヘッダーであることを考えると、これはかなり奇妙に思えます。だから、私はその行を調べて、typedef __AW(CHOOSECOLOR) CHOOSECOLOR,*LPCHOOSECOLOR;それは私にはあまり有効に見えませんが、私は実際にはCの専門家ではなく、主にLinuxで書いています。なぜそれがうまくいかないのかわからないのですが、それを修正する方法についての知識はありませんか?tccのバグですか?

これが可能であることの証拠として、tcc readme からの適切な一節を次に示します。

ヘッダー ファイル:


システム ヘッダー ファイル (_mingw.h を除く) は、MinGW ディストリビューションからのものです。

http://www.mingw.org/

Windows ヘッダーからは、最小限のセットのみが含まれています。さらに必要な場合は、MinGW の「w32api」パッケージを入手してください。

この質問は、TCC で Windows.h をインクルードするときのエラーに似ていることを理解していますが、私の「windows.h」ファイル機能します - 機能しないのはこれだけです。

これを解決する方法を知っている人はいますか?私は本当にルーズエンドです!

0 投票する
1 に答える
673 参照

c - tcc: エラー: 未定義のシンボル 'pthread_create'

これをtccでコンパイルしようとしています

ここに画像の説明を入力

これらのエラーがあります

ここに画像の説明を入力

エラーの前は「pthread.h が見つかりません」で、pthread,pthread_compat,pthread_signal,pthread_time,pthread_unistd ヘッダー ファイルを gcc include dir から tcc include dir にコピーしました。...そして今、私は上記のエラーを抱えています..リンクに何かがあると思いますが、正確にはわかりません:/

0 投票する
2 に答える
637 参照

c++ - gcc で生成された .o ファイルに対して tcc を使用してソースをコンパイルしようとすると、奇妙な動作が発生する

gcc で生成された .o ファイルに対して tcc (ver 0.9.26) でソースをコンパイルしようとしていますが、奇妙な動作をします。gcc (ver 5.3.0) は MinGW 64 ビットのものです。

具体的には、次の 2 つのファイル (te1.c te2.c) があります。Windows7ボックスで次のコマンドを実行しました

文字列から 4 バイトが切り取られていることに注意してください1234567in dummy!!!\n。何がうまくいかなかったのだろうか。

ありがとうジン

========ファイル te1.c===========

========ファイル te2.c===========

更新 1

te1.o (tcc でコンパイルされた te1.c) と te1_gcc.o (gcc でコンパイルされた te1.c) の間のアセンブリの違いを見ました。コンパイルされた tcc では が見られlea -0x4(%rip),%rcx、コンパイルされた gcc では が見られましたlea 0x0(%rip),%rcx。理由がわからない。

Update2

バイナリ エディタを使用して、te1.o (gcc で生成) のマシン コードを変更lea 0(%rip),%rcxlea -0x4(%rip),%rcx、tcc に変更してリンクすると、結果の exe は正常に動作します。より正確には、私はそうしました

アップデート 3

要求に応じて、ここに出力がありますobjdump -r te1.o

0 投票する
1 に答える
483 参照

c - 実装定義マクロによる clang、gcc、および tcc の認識

clanggcc、およびを使用tccしていますが、共通のヘッダーで 3 つを区別できるようにしたいと考えています。

マクロ ダンプから判断すると、マクロの存在によって __clang__clang が一意に識別されると思われます。

でマクロ ダンプを取得できませんtcc($compiler -x c -E -dM /dev/nullこの場合は機能しません)。

gcc (および場合によっては tcc) を一意に識別するマクロ (存在する場合) は何ですか?

0 投票する
1 に答える
647 参照

c - MinGW - なぜ C の「hello world」実行可能ファイルは 42kb なのですか?

C の hello world を MinGW でコンパイルすると、結果の exe は 42Kb になります。Tiny C Compiler を使用すると、2Kb 程度になります。(どちらの場合も、オプションを指定したり、何か面白いことをしたりせずに、 gcc hello.c -o hello.exe だけです)

これで、最小限のスタートアップ コードが必要であることがわかりました。しかし、mingw がそこに置く余分な 40kb のものは何ですか、それは何をしますか、なぜそれが必要なのですか?