![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?a65a0e2)
No.3ベストアンサー
- 回答日時:
ISO の規格は,C99 のみが現行の規格になります。
C90 (ISO/IEC 9899:1990) は C95 (ISO/IEC 9899:1990/Amd.1:1995) によって改正され,
C90 および C95 は C99 (ISO/IEC 9899:1999) によって取り消され,かつ置き換えられています。
識別方法ですが,本来の識別方法で言えば,
・__STDC__ が定義されていない
非標準
・__STDC__ が 1 かつ __STDC_VERSION__ が定義されていない
C90
・__STDC__ が 1 かつ __STDC_VERSION__ が 199409L
C95
・__STDC__ が 1 かつ __STDC_VERSION__ が 199901L
C99
になります。
他に,非標準の機能が使えないことを前提で言えば,
コンパイラが
int main (void) <% return 0; %>
を通せば C95 or C99,
int main (void) <% return 0; %> // comment
を通せば C99 です。
> 今、私はVisual Studio 2008で書いていますが、規格は何に依存するものなのでしょうか。
> Editorとか、コンパイラーによって、自動的に決まるものなのでしょうか。
コンパイラです。
ただし,コンパイラが複数バージョンをサポートしている場合があります (GCC 等)。
その場合は,コンパイラオプション等が関係してきます。
VC++ 2008 に関しては,ほぼ C95 をサポートしています。
ほぼ,というのは,wcstok のように,未だに標準と異なる形のものが残っているためです。
また,ISO C++ (C++98/C++03) に対応したコンパイラの場合,C++ の規格が C95 を参照するため,少なくとも C95 の範囲はほとんどカバーされます。
# VC++ は C++ 側を中心にしているっぽいので,C++0X のサポートは進んでいますが,C99 のサポートは進んでいない状況です。
> また、このような規格についてのサイトがあれば教えて頂けないでしょうか。
規格の説明サイトはいくつかあると思いますが,規格自体に関しては,原則として規格を購入することになります。
# ちょっと調べれば,ドラフトが見つかったりするのですが……。
購入に関しては,英語版になりますが,ANSI Standard StoreでINCITS/ISO/IEC 9899を購入するのが一番安いです。
ISO/IEC 9899と同等のもので,30ドル,書き込み時点の為替相場で3000円弱,クレジットカードの手数料を考えても4000円は超えないと思います。
# JIS規格は14280円,ISO規格は33264円 (書き込み時点)
site: American National Standards Institute - ANSI Standards Store
http://webstore.ansi.org/
抜け道としては,日本工業標準調査会のサイトで閲覧することができます (閲覧のみ可能です)。
JIS検索でX3010を検索してください。
site: JISC 日本工業標準調査会
http://www.jisc.go.jp/
No.2
- 回答日時:
>C言語にはISOでの規格について(通称)C55、C99の2通りがあると聞きましたが、今自分が使っているCはどちらの方
>を使っているかというのはどのようにしたら分かるのでしょうか。
「C55ではエラーになるが、C99ではエラーにならない、新しい書き方」をしているソースコードをコンパイルしてみると、ある程度は判ります。
エラーが出なければC99に準拠している可能性があります。
エラーが出た場合、少なくとも「C99には準拠していない」ことが判ります。
次に「C55以前の古いコンパイラではエラーになるが、C55ではエラーにならない書き方」をしているソースコードをコンパイルしてみると、もう少し判ります。
エラーが出なければC55に準拠している可能性があります。
エラーが出た場合、少なくとも「C55には準拠していない」ことが判ります。
また、エラーが出るか出ないかの他に「ライブラリ関数の挙動」でも、どの規格に準拠しているか、少しは判ります。
No.1
- 回答日時:
> C言語にはISOでの規格について(通称)C55、C99の2通りがあると聞きましたが、
ISOの規格でないものも含めれば、K&RとかC89、C90やそれらを独自拡張された方言もたくさんありますよ。
> 今自分が使っているCはどちらの方を使っているかというのはどのようにしたら分かるのでしょうか。
まあ、そのソースコードを見るしかありません。また規格上で違いがない部分だけで書かれているコードであれば見ても分かりません。
> 今、私はVisual Studio 2008で書いていますが、規格は何に依存するものなのでしょうか。
> Editorとか、コンパイラーによって、自動的に決まるものなのでしょうか。
たしかVisual Studioに付属のコンパイラは規格ではC90に対応しているだけだったような...(違っていたら誰か指摘してください)
まあ、それから独自の拡張が色々とされていますけどね。
Editorによって決まることはありません。
コンパイラーによってはある程度は規定されます。規格に完全に準拠していなくても一部には対応していたりするので...
> また、このような規格についてのサイトがあれば教えて頂けないでしょうか。
日本語の資料としては、例えば
JIS X3010-1993 プログラム言語C
JIS X 3010-2003 プログラム言語C
とか...
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 英語 of の必要性と意味 2 2022/07/31 17:09
- 哲学 日本語は 言語類型として あたかも始原のごとくである 3 2022/05/29 04:41
- C言語・C++・C# visual studio 2019 についての質問です 1 2022/09/21 09:58
- 英語 提示した結果構文が非文となる理由について 1 2022/07/25 12:22
- その他(プログラミング・Web制作) プログラミングについて(Python) 添付した画像はC言語で簡単に作ったソースで、1つの配列に5つ 3 2022/09/10 19:15
- コンサルティング・アドバイザー UL など海外規格をまとめる方法について 3 2023/08/16 10:29
- その他(パソコン・スマホ・電化製品) 「規格外の太陽光パネルQ CELLS PEAK DUO MS-G9 230Wの一般販売」 2 2023/07/19 08:56
- 格安スマホ・SIMフリースマホ SMS認証用の電話番号が欲しい 6 2022/06/12 18:21
- その他(パソコン・周辺機器) PCI-Express の USB Type-C PD 対応拡張カードはありますか? 5 2022/10/08 08:54
- 哲学 《太郎ハ花子ガ好きだ》構文から《象は鼻が長い / 僕はウナギだ / コンニャクは太らない》へ 1 2022/05/30 08:48
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ソフトの開発言語を調べる方法
-
unsigned long long 型のフォー...
-
PICでのI2C通信でのマスタ、ス...
-
VB6のコンパイラ
-
C言語の規格
-
トランジスタ技術9月号の第2章A...
-
リリースモードとデバッグモー...
-
組み込みソフト。ROM領域にデータ
-
cc と gcc の違い
-
PICマイコンのプログラムカウン...
-
コンパイラによって出力される...
-
AIXとCOBOLについて
-
オープン系とか、組込み系とか...
-
COBOLの論理演算子について質問...
-
C言語:OS移行時の注意点(Sola...
-
.netでの、VBと比べてのC++の優...
-
C言語
-
COBOLのALPHABET...
-
VC++の/Zm オプションについて
-
初心者に一番分かりやすいCO...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ソフトの開発言語を調べる方法
-
unsigned long long 型のフォー...
-
C++でデスクトップGUIアプリ開...
-
パーサとコンパイラの違いって?
-
printfなど、標準関数のソース...
-
COBOLの論理演算子について質問...
-
cc と gcc の違い
-
組み込みソフト。ROM領域にデータ
-
<conio.h>?
-
COBOLのALPHABET...
-
24bit サイズの変数
-
C++Builder → Visual C++ 移植...
-
リリースモードとデバッグモー...
-
PICでのI2C通信でのマスタ、ス...
-
VC++の/Zm オプションについて
-
bcpadのコンパイラのインストー...
-
『Bin』ディレクトリは何の略語?
-
C言語の規格
-
C言語はC言語でできている?
-
C言語でチェスを作ってみたいと...
おすすめ情報