web-dev-qa-db-ja.com

コマンドラインから.cファイルを実行する方法

私はマイクロコントローラーを使い始め、C言語を使用してそれらをプログラミングしています。

私のプログラミング経験はすべてPython言語での経験です。

Pythonで作成したスクリプトをテストしたい場合は、ターミナルを起動して、実行するファイルのパスを「python」と入力するだけです。

ウェブ検索を試しましたが、ほとんどの人が私が何を求めているのか理解できませんでした。

端末からcを実行するにはどうすればよいですか?

5
Iam Pyre

CはPythonまたはPerlのようなインタプリタ言語ではありません。Cコードを入力してシェルにファイルを実行するように指示することはできません。CコンパイラをgccのようなCコンパイラでコンパイルする必要があります。出力するバイナリファイルを実行します。

たとえば、gcc file.cを実行すると、a.outという名前のバイナリファイルが出力されます。次に、ファイルの完全パス./a.outを指定して、バイナリファイルを実行するようにシェルに指示できます。

編集:
コメントやその他の回答で述べたように、Cインタープリターがいくつか存在します。ただし、Cコンパイラの方が人気があると私は主張します。

27
Peschke

単一のfoo.cmakeがコンパイルできるかどうかを確認します。

make foo

メークファイルなどは必要ありません。

9
nperson325681

tcc -run file.cは、.cファイルを実行することがあります。 .cファイルに追加のライブラリが必要な場合は、tcc -llib1 -llib2 ... -run file.c 成功します。時々それはうまくいきません。 tccはgccではありません。

ちなみに、#!/usr/bin/tcc -run .cファイルの上部、chmod +xファイルを作成し、他のスクリプトと同じように実行します。 .cファイルがtccで機能する場合、これは正常に動作します。

Cを初めて使用する人からの単純な.cファイルは、ほとんどの場合機能します。

7
Joshua

私はマイクロコントローラーを使い始め、C言語を使用してそれらをプログラミングしています。

実際には、これは重要な考慮事項です。あなたのマイクロコントローラーは Arduino (またはおそらくRaspberry Pi)のようなものだと思います。

一般に、いくつかの クロスコンパイラ が必要です。次に、デスクトップシステム(たとえば、非常に開発者にやさしいLinuxですが、Arduinosの場合はWindowsまたはMacOSXでホストされているクロスコンパイラを見つけることができます)でクロスコンパイルして、ソースコードをマイクロコントローラ向けの実行可能ファイルにクロスコンパイルしますその後、バイナリ実行可能ファイルをマイクロコントローラーに送信します。

Cは難しいプログラミング言語です。

多くの場合、デスクトップでコードを直接コンパイルする可能性があります(すべての警告とデバッグ情報を有効にすることを忘れないでください。例:gcc -Wall -Wextra -g[〜#〜] gcc [〜#〜] )を使用して、デスクトップでテストし、後でそれをArduinoに移植して移植します。ラップトップまたはデスクトップでのデバッグのコードは、Arduinoでのデバッグよりもはるかに簡単です。

後で、マイクロコントローラー用に同じソースコードをクロスコンパイルします。