
すみません、C&C++初心者です。
よく分からないので教えて下さい。
「.c」拡張子のファイルなのですが、以下C++の文法が使用されたソースがあります。
・変数宣言が関数内の処理途中でされている
・構造体の変数宣言で「struct」の記述が省略されている
・const変数がswitch分のcaseラベルに使用されている
これを以下環境でコンパイルしたところ、エラーとならず正常終了しました。
OS:HP-UX
コンパイラ:aCC
です。
(ちなみにwindows環境(win2003sv、clコンパイラ)でコンパイルしたところ、想定通りC++文法箇所でエラーになりました)
自分なりに調べた限り、C++対応コンパイラというものは、拡張子によって
「.c」ならC言語、「.cc」「.cpp」ならC++、といった判断をしてコンパイルする、
といった記述がよく見受けられました。
しかし本件の場合、「.c」ですがC++の文法が許容されたということになります。
本サイトでも検索したところ、「C言語での変数宣言の場所」というご質問で
「新しいgccコンパイラでは、変数の途中処理宣言は許容されている」
という内容のものは確認できましたが、これに似たような現象なのでしょうか。
ご存じの方おりましたらご教授よろしくお願いいたします。
No.3
- 回答日時:
拡張子が「.c」じゃなくて「.C」になってたりしませんか?
UNIX系OSではファイル名の大文字小文字を区別しますが、
コンパイラによっては、大文字な「.C」ファイルの場合はC++としてコンパイルしたりします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C++ で、「)」が必要 というエ...
-
ABAQUS ユーザーサブルーチン...
-
初心者はIDE使わないほうが良く...
-
0除算して、落ちるプログラムと...
-
プリコンパイラとは?
-
CPUが16bitでも32bitOSでコンパ...
-
Delphiの逆コンパイル
-
io.hをincludeするとそのような...
-
Visual C++とVisual C++.NETの違い
-
コンパイルできない
-
正しい五十音順について
-
VBAで仕様書は書きますか?
-
65536は2の何乗なのでしょうか?
-
あるプログラムのコマンドライ...
-
ファイルの開き方
-
Bluestacks内でダウンロードし...
-
VBAで関数をつくる
-
Excelで4096点以上のFFTの方法
-
ドロップダウンリストの文字を...
-
XnViewにwebpを「いつも開く」...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C++ で、「)」が必要 というエ...
-
C++でアボート(Abort)で処理が...
-
0除算して、落ちるプログラムと...
-
io.hをincludeするとそのような...
-
コンパイルできない
-
fortranでのNaNについて
-
Visual C++とVisual C++.NETの違い
-
Delphiの逆コンパイル
-
C言語のワーニングメッセージの...
-
変数(関数)名の頭に_
-
プリコンパイラとは?
-
volatile修飾について
-
「.c」拡張子でC++文法を使...
-
Eclipseの環境設定について
-
どのプログラミング言語ででき...
-
コンパイラについて
-
isnanの取り扱いについて
-
ABAQUS ユーザーサブルーチン...
-
timeBeginPeriod()関数が使え...
-
CPUが16bitでも32bitOSでコンパ...
おすすめ情報