トップ回答者
コンパイラのオプションに /Zc:trigraphs を指定することで有効にできる

質問
-
こんにちは!いまC言語の勉強をしております。3文字表記についての質問です。
PC環境はWin10,使っているソフトはVS Express 2013 for Desktopです。
??=include <stdio.h>
int main() ??<
printf("??= , ??( , ??)??/n");
return 0;
??>これをデバックなしで実行するとエラーになります
エラー 1 error C1010: プリコンパイル ヘッダーを検索中に不明な EOF が見つかりました。'#include "stdafx.h"' をソースに追加しましたか? e:\lesson29\lesson29\lesson29.cpp 11 1 lesson29
コマンドでこのように表示されます↓↓
'"E:\lesson29\Debug\lesson29.exe"' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
続行するには何かキーを押してください . . .エラーで指摘されているように、プロジェクトの設定でトライグラフを有効化する必要があります。
「ソリューション エクスプローラー」でプロジェクトを右クリックし「プロパティ」を選択してC/C++コマンドラインから/Zc:trigraphsを追加してすべてのオプションに追加されていることを確認いたしました。なぜエラーになるのでしょうか?原因を知りたいです。どこが間違っているのでしょうか??
回答
-
プリコンパイルヘッダーを使用する<Yu>になっているからですね。
プロジェクトのプロパティDLGの「構成プロパティ」の
「プリコンパイル済みヘッダー」のオプションを「使用しない」にしてみてください。
そのかわり、もちろん必要なヘッダーをインクルードする必要があります。
気になるのは
1.いまどきトリグラフを使う人はいません(もちろん使えますが)。
2.提示されたメイン関数の書き方は古すぎます。
ウィザードで生成されるコードを参考にしてみてはどうでしょう。◇ところで、同内容の別のスレッドにコメントしたのですが、削除されてしまったようなので再度コメントしました。
- 回答としてマーク moriuchi 2015年9月1日 6:46
すべての返信
-
プリコンパイルヘッダーを使用する<Yu>になっているからですね。
プロジェクトのプロパティDLGの「構成プロパティ」の
「プリコンパイル済みヘッダー」のオプションを「使用しない」にしてみてください。
そのかわり、もちろん必要なヘッダーをインクルードする必要があります。
気になるのは
1.いまどきトリグラフを使う人はいません(もちろん使えますが)。
2.提示されたメイン関数の書き方は古すぎます。
ウィザードで生成されるコードを参考にしてみてはどうでしょう。◇ところで、同内容の別のスレッドにコメントしたのですが、削除されてしまったようなので再度コメントしました。
- 回答としてマーク moriuchi 2015年9月1日 6:46
-
ご回答ありがとうございます。C#をやり始めたのですがC言語もわからずいきなりは私にとって難しくって基本からやり始めたところでこの3文字表記に出くわしmicrosoft visual C++でも/Zc:trigraphs を追加すれば実行できるとのことでやりましたがエラーが出てしまいどんどん深みにはまってしまいました。
プロジェクトのプロパティDLGの「構成プロパティ」の「プリコンパイル済みヘッダー」のオプションを「使用しない」にしてみてください。そのかわり、もちろん必要なヘッダーをインクルードする必要があります。
参考にさせていただいてやってみます。皆様ありがとうございました
追伸:早速試させていただきました。下記の通り表示されました。ありがとうございます
次へ進むことができます
# , [ , ]
続行するには何かキーを押してください . . .
- 編集済み moriuchi 2015年9月1日 8:04