0

Cでプログラミングを始めたばかりですが、完全に混乱しています。

以前は Visual Studio 2012 でコードを書いていましたが、C89 (または ANSI C?) と互換性があります。MinGW コンパイラで CodeBlocks をインストールしました。自分のコンピューターでプログラミングできる C 標準を知る方法を知りたいですか? C89、C90、C99、あるいは C1X? というか意味がわかりません。私のコンピュータの C 標準は何によって決定されますか? コンパイラまたは IDE?

4

2 に答える 2

3

それはあなたのコンピュータに依存するのではなく、あなたのコンパイラに依存します。結局のところ、コンピューター (つまり CPU) は C ではなく機械語を処理します。いくつかの標準に従って C を解釈し、それを CPU に適した命令に変換するのはコンパイラです。

GNU Compiler Collectionは、-std=フラグで選択できるさまざまな C 標準を処理できます。

追加:一部の(組み込み)システムでは、限られた数の標準のみをサポートする可能性のあるコンパイラの選択肢が限られています。そのため、利用可能な C 標準がコンピュータに限定される場合があります。

于 2013-07-24T11:51:53.737 に答える
0

標準間の違いを理解するのに役立つように、Kninnug の素晴らしい回答に少し追加するには、次のようにします。

ウィキペディアには、さまざまな C の違いや、無料の標準の「最終草案」を入手できる場所を説明する便利なリンクが多数あります。これらは、厳密に準拠したコードを記述するのに非常に役立ちます。

http://en.wikipedia.org/wiki/C11_%28C_standard_revision%29はhttp://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdfを指しています

次に、POSIX (Linux など) の世界で作業している場合は、UNIX の世界の C 標準に対する POSIX 拡張も同様に役立ちます。良い出発点は

http://pubs.opengroup.org/onlinepubs/009695399/

これは、C 標準にはない getopt() などを取得する場所です。繰り返しになりますが、この件に関するウィキペディアのページを調べることをお勧めします。

于 2013-07-24T12:57:29.230 に答える