4

現在、新しい Mac でプログラミングを始めようとしています。私は TextWrangler をインストールし、言語として C++ を選択しました。Windowsを使用していたときから、ある程度の予備知識があるためです。

そこで、これまでになく一般的な「Hello World」プログラムを作成しました。ただし、実行しようとすると、エラーが発生しました。

「このファイルには有効な 'shebang' 行が含まれていないようです (アプリケーション エラー コード: 13304)」

エラーコードを検索してこれを修正する方法を見つけようとしましたが、何も見つかりませんでした..「シバン」行が何であるかわかりません...誰か助けてもらえますか?

4

7 に答える 7

5

最初にコンパイラでコンパイルする必要があります。ソースファイルを次のように実行しようとしたと思います./sourceが、C++ はこの方法では機能しません。

ただし、一部のコンパイラでは、次のように、ソース ファイルの最初の行としてシバン行を指定できます (これはshebangまたはcrunchbang#!として知られているため、この名前が付けられています)。

#!/path/to/compiler

そのため、その種類のファイルを実行するために使用されるアプリケーションをシェルが認識し、ソース ファイルを単独で実行しようとすると、コンパイラがコンパイルして実行します。ただし、これはコンパイラに依存する機能であるため、G ++またはMacが実行可能ファイルを取得するために使用するものを使用して単純にコンパイルし、それを実行することをお勧めします.

于 2011-08-15T03:27:46.643 に答える
2

g++ソース ファイルを直接実行しようとしているように見えますが、Mac 用の C++ コンパイラを含む gcc (GNU Compiler Collection) に含まれているような C++ コンパイラを使用してコンパイルする必要があります。Mac には含まれていません。最初にダウンロードする必要があります。

http://www.tech-recipes.com/rx/726/mac-os-x-install-gcc-compiler/から: "gcc コンパイラをインストールするには、http://connect.apple から xcode パッケージをダウンロードします。 com/ . Apple Developer Connection アカウントに登録する必要があります. 登録したら、ログインして [ソフトウェアのダウンロード] をクリックし、[開発者ツール] をクリックします. [Xcode ツール (バージョン) – CD イメージ] の横にある [ダウンロード] リンクを見つけてクリックします! "

インストールが完了したら、簡単に Hello World を実行する場合は、ソース ファイルのディレクトリにあるターミナル ウィンドウから、コマンドを実行できますg++ HelloWorld.cpp -o HelloWorld。その後、として実行できるはずです./HelloWorld

また、Visual Studio の世界から来た場合は、Mono と MonoDevelop を試してみてください。Mono は C# (およびその他の言語) の無料の実装であり、MonoDevelop は Visual Studio に非常によく似た IDE です。MonoDevelop は、C# および Visual Basic .NET を含むその他の .NET 言語と、C/C++ 開発をサポートしています。私はそれを広く使用していませんが、VS に非常に似ているように見えるので、1 日にすべてを新しく学ぶ必要はありません。KDevelop も使用していましたが、使用していたときはとても気に入っていましたが、それはもうしばらく前のことです。C/C++ での GNU スタイルの開発を多数サポートしており、思い出すと非常に強力でした。

あなたの努力を頑張ってください!

リンク:

于 2011-08-15T03:47:44.600 に答える
0

Macを使用している場合は、コマンドラインで次のようにします。

g++ -o program program.cpp

プログラムをコンパイルして、と呼ばれる実行可能ファイルにリンクしますprogram。次に、次のように実行できます。

./program

'shebang'エラーが発生した理由は、おそらく次のようにcppファイルを実行しようとしたためです。

./program.cpp

そして、シェルはファイル内のコードを実行するためのインタープリターを見つけようとします。これはC++であるため、関連するインタープリターはありませんが、ファイルにPythonまたはBashが含まれている場合は、次のような行があります。

#!/usr/bin/python

ソースファイルの1行目で、Pythonインタープリターを使用するようにシェルに指示します

于 2011-08-15T03:44:41.700 に答える
0

shebang is http://en.wikipedia.org/wiki/Shebang_%28Unix%29.

not sure why your program is not running. you will need to compile and link to make an executable.

于 2011-08-15T03:28:55.487 に答える
0

What I find confusing (/interesting) is C++ program giving "Shebang line" error. Shebang line is a way for the Unix like operating system to specify which program should be used to interpret the rest of the file. The shebang line usually points to the path of the interpreter. C++ is a compiled language and does not have interpreter for it.

To get the real technical details of how shebang lines work, do a man execve and get that man page online here - man execve.

于 2011-08-15T03:34:34.380 に答える