質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Visual Studio Code

Visual Studio Codeとは、Microsoft社が開発したマルチプラットフォーム対応のテキストエディタです。Visual Studioファミリーの一員でもあります。拡張性とカスタマイズ性が高く、テキストエディタでありながら、IDEと遜色ない機能を備えることができます。

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Q&A

解決済

1回答

1275閲覧

cannot execute binary file: Exec format error

Casablanca_mtg

総合スコア209

Visual Studio Code

Visual Studio Codeとは、Microsoft社が開発したマルチプラットフォーム対応のテキストエディタです。Visual Studioファミリーの一員でもあります。拡張性とカスタマイズ性が高く、テキストエディタでありながら、IDEと遜色ない機能を備えることができます。

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

0グッド

0クリップ

投稿2022/06/20 05:27

お世話になります。
VSCodeのターミナルでbashを使おうとするとタイトルのようなエラーが出ます
詳しくは画像のとおりです
1.
イメージ説明

2.
イメージ説明

1.2は正しく動作します。

3はここから選んでいます
イメージ説明

git bashで実行すると4のようにエラーになります
イメージ説明

bash: ./sample: cannot execute binary file: Exec format error
この修正方法をお教えいただけませんか?
一応下記は解凍しました

binaryen-version_98-x86_64-windows.tar.gz
binaryen-version_109-x86_64-windows.tar

いろいろやっていますが理解できていません
よろしくお願いいたします

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

まず

  • linux上で実行できるファイルは拡張子なし
  • Windows上では拡張子なしのファイルは実行できない

というのをおさえておいて下さい。

次に,各コンパイラで生成されるファイル名は次の通りです。

g++ -o sample sample.cppで生成される実行ファイル

環境ファイル名
wsl(linux)sample
powershellsample.exe
mingw64sample.exe

次に./sampleコマンドで実行されようとするファイルを一覧にしたものです。
powershellは「windowsの実行ファイルは必ずexeとかbatの拡張子がある」
ということを知っているので,自動で拡張子を付け加えます。
git bashは素直に./sampleと拡張子なしのファイルを実行しようとします。
おそらく./sampleの実行ファイルはwsl(linux)環境で生成したファイルなので
windows上では動作しません。(これがエラーの原因)

./sample で実行しようとするファイル

環境ファイル名
wsl(linux)./sample
powershell./sample.exe
git bash./sample

最後に各環境で実行可能なファイルです。

実行可能なファイル

環境ファイル名
wsl(linux)./sample
powershell./sample.exe
git bash./sample.exe

つまり,git bashでは実行方法は./sample.exeでなければなりません。
ただgit bashでも,もし./sampleが無ければ./sample.exeが実行できていたかもしれません。

この辺りは各々コンパイル・実行後に生成した実行ファイルのファイル名・タイムスタンプ確認&実行ファイル削除をしていたなら自分で解決していたはずです。

投稿2022/09/05 13:10

ujimushi_sradjp

総合スコア2091

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Casablanca_mtg

2022/09/06 04:06

ありがとうございます。 どうしてもできなかったためMacに切り替えてやっています。 Windowsはプログラミングするにはいろいろ無知な私は理解できない部分が多すぎて悪戦苦闘しています。 しかし、教えていただいた通りで試してみます。 ありがとうございました。VSCodeやvisualstudio 2022も学習中です
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問