C言語国際規格 ISO/IEC 9899 C2011原案N1570
コンパイルした記録の一覧
この資料のOriginal:https://github.com/Clanguagesubset/c2011/wiki
例題コンパイル作業
CN2011の例題をコンパイルする作業手順を記録。
MISRA-Cの例題をコンパイルする場合も類似。
1 コンパイル可能な記述を探す。<文書>
2 章・節の見出しを複写<文書>
3 エディタで新規ファイルを選ぶ。<エディタ>
4 章・節の見出しを貼り付け。<エディタ>
5 既存のファイルを複写。<エディタ>
6 章・節の見出しを上書き。<エディタ>
7 最終出力printfの章・節の見出し事項を上書き。<エディタ>
8 例題を複写。<文書>
9 例題を貼り付ける際に、既存の処理の上に上書き。<エディタ>
10 ソースコードファイルを章・節の数字に基づくファイル名で保存。<エディタ>
10 コンパイル。<コマンド>
11 (エラーが出れば)変数宣言など自明な処理を追加。<エディタ>
12 (必要があれば)処理の経過and/or結果が分かる出力を追加。<エディタ>
13 実行した結果を複写。<コマンド>
14 最後に貼り付ける。<エディタ>
15 最終保存。<エディタ>
16 ファイルをresearchmap.jpに貼り付け。<ブラウザ>
17 LLVM 3.2で対応できないものは、GCC 4.9でコンパイル。
18 GCCの著作権表示と出力がGCCによることを追記。
コンパイルエラー除去方針
1 宣言がないものは宣言を追加する。
2 実行部分はint main(void)に入れる。
3 関数の実体がないものは関数の実体を最小限入れる。
例えば、return 0;のように。
4 コンパイルエラー、警告の出力が目的のコードは、目的以外の警告がでないようにする。
5 コンパイルエラー、警告の出力が目的でない場合には、エラー、警告が出た状態のままにすることがある。
例えば、初期値の代入、出力の型の違いなど。
6 なるべく一つの章・節では1つの例題とする。
7 複数の例を同一のファイルにすると変数名の衝突などがある場合は、最低限の変数の変更に留める。
例えば、char c; int c;とある場合には、char c; int ic;とする。
出力方針。
1 最終出力に、章・節番号と見出しを入れ改行する。
2 経過・結果に影響を与える出力に限定する。
3 複数の例を同一ファイルにしている場合には、例ごとに出力しできれば改行する。
4 出力形式は%dとする。文字列の出力が必要な場合は%sも併用することがある。
<この稿は書きかけです。順次追記しています。>
作業一覧(最初から最後まで)
C2011 3.14 memory location: example
https://researchmap.jp/blogs/blog_entries/view/82322/acf79571910fc36d484a3a2ae81b5934?frame_id=445675
https://qiita.com/kaizen_nagoya/items/e4eafb04e14dbf580a62
C2011 3.20 ceiling, 3.21 floor : Example
https://researchmap.jp/blogs/blog_entries/view/82322/340e9afd94be169360deedd101611cac?frame_id=445675
C2011 4. Conformance fesetround(FE_UPWARD)
https://researchmap.jp/blogs/blog_entries/view/82322/e6a714ca65f02f9fff6d91163bbcbe57?frame_id=445675
C2011 5.1.1.3 Diagnostics : constraint error
https://researchmap.jp/blogs/blog_entries/view/82322/df8e060b3640f71c0fa6562260ab5a62?frame_id=445675
C2011 5.1.2.3 Program execution : Examples 1-6
https://researchmap.jp/blogs/blog_entries/view/82322/7ad1439fa0713786f374200b9a1bc059?frame_id=445675
C2011 5.1.2.3 Program execution : getchar Example 7
https://researchmap.jp/blogs/blog_entries/view/82322/176bcf9a0c0879808adad27d769edb83?frame_id=445675
C2011 5.2.1.1 Trigraph sequences: Examples
https://researchmap.jp/blogs/blog_entries/view/82322/05b7cd3fd0941f7b3d6e28d2dffe97b4?frame_id=445675
C2011 6.2.7 Compatible type and composite type
https://researchmap.jp/blogs/blog_entries/view/82322/401af450dde0b2d2002765b7fd95a235?frame_id=445675
C2011 6.4.2.2 Predefined identifiers: func
https://researchmap.jp/blogs/blog_entries/view/82322/03bb41701057ea4ad3aba16072e57ac9?frame_id=445675
c2011 6.4.5 String literals :Example
https://researchmap.jp/blogs/blog_entries/view/82322/91fa0cf5a30a9304abb3d2b0696d7bf2?frame_id=445675
C2011 6.4.7 Header names:Example
https://researchmap.jp/blogs/blog_entries/view/82322/ecaa1c3ead7205178404f67e3f9cbeab?frame_id=445675
C2011 6.4.9 Comments: Example
https://researchmap.jp/blogs/blog_entries/view/82322/a503b83179c3254bf0cc2856fac53243?frame_id=445675
C2011 6.5 Expressions : undefined
https://researchmap.jp/blogs/blog_entries/view/82322/ae8cf71b4045386349c19ffaaa1d4904?frame_id=445675
C2011 6.5.1.1 Generic selection: _Generic
https://researchmap.jp/blogs/blog_entries/view/82322/2a343b0c3ec1731b1814eaf39abb225f?frame_id=445675
C2011 6.5.2.1 Array subscripting, Example
https://researchmap.jp/blogs/blog_entries/view/82322/d29086fdb571f87954435fb371a0169a?frame_id=445675
C2011 6.5.2.2 Function calls: Example
https://researchmap.jp/blogs/blog_entries/view/82322/806c4b5d815d5fd4be5602166611e3d0?frame_id=445675
C2011 6.5.2.3 Structure and union members: Examples
https://researchmap.jp/blogs/blog_entries/view/82322/6ec0a76b242e2088a08c8864a97c919d?frame_id=445675
C2011 6.5.2.4 Postfix increment and decrement operators:note 98)
https://researchmap.jp/blogs/blog_entries/view/82322/ed9585080860ccb175508653ee9350b5?frame_id=445675
C2011 6.5.3.4 The sizeof and _Alignof operators:Examples
https://researchmap.jp/blogs/blog_entries/view/82322/c7ebe448d5006b541c16e7bd74dc6606?frame_id=445675
c2011 6.5.2.5 Compound literals: Examples
https://researchmap.jp/blogs/blog_entries/view/82322/38b42dc54eab84aa42753a8e2056776d?frame_id=445675
C2011 6.5.9 Equality operators, notes 108)
https://researchmap.jp/blogs/blog_entries/view/82322/5b561e2857e8e1af09b09da87fbbce87?frame_id=445675
C2011 6.5.15 Conditional operator: EXAMPLE
https://researchmap.jp/blogs/blog_entries/view/82322/f413d23cadcb83cb246805c88ae7f6c4?frame_id=445675
C2011 6.5.16.1 Simple assignment: Examples
https://researchmap.jp/blogs/blog_entries/view/82322/79d97d715dc891c1d584aa1eed0122d3?frame_id=445675
C2011 6.5.16.2 Compound assignment: Note 113)
https://researchmap.jp/blogs/blog_entries/view/82322/8876238e0eefca9862af8bc4db85a8ea?frame_id=445675
C2011 6.5.17 Comma operator: Example
https://researchmap.jp/blogs/blog_entries/view/82322/b73c72ed9b7f6acc57b05a5eb5a312ba?frame_id=445675
C2011 6.7.2.1 Structure and union specifiers //Examples
https://researchmap.jp/blogs/blog_entries/view/82322/de788baa4282d9def4744b0679f22ae7?frame_id=445675
C2011 6.7.2.2 Enumeration specifiers // Example
https://researchmap.jp/blogs/blog_entries/view/82322/1e1d5bf38cb2f97a5505290a3ac49cf9?frame_id=445675
C2011 6.7.2.3 Tags // Examples
https://researchmap.jp/blogs/blog_entries/view/82322/5c8694941042287bac51b447173048e5?frame_id=445675
C2011 6.7.3 Type qualifiers // Examples
https://researchmap.jp/blogs/blog_entries/view/82322/03b5e8cca3c1aed7bbb54d7725c3a020?frame_id=445675
C2011 6.7.3.1 Formal definition of restrict // Examples
https://researchmap.jp/blogs/blog_entries/view/82322/d1583fd3b51f02714f7508dd5ad78bcf?frame_id=445675
C2011 6.7.4 Function specifiers, _Noreturn
https://researchmap.jp/blogs/blog_entries/view/82322/5fb25e2ee251c0011c7193ce8ad7ea2b?frame_id=445675
C2011 6.7.6.1 Pointer declarators // Example
https://researchmap.jp/blogs/blog_entries/view/82322/31d9e16fd16c9d5336026deb0949eefb?frame_id=445675
C2011 6.7.6.2 Array declarators // Examples
https://researchmap.jp/blogs/blog_entries/view/82322/ab99ff1dd93a8955833110ba8e22598a?frame_id=445675
C2011 6.7.6.3 Function declarators (including prototypes) // Examples
https://researchmap.jp/blogs/blog_entries/view/82322/48df4c1b479aa415290f9a8353253267?frame_id=445675
C2011 6.7.7 Type names
https://researchmap.jp/blogs/blog_entries/view/82322/867aacc97fa2879d0b0460727c537c04?frame_id=445675
C2011 6.7.8 Type definitions // Examples
https://researchmap.jp/blogs/blog_entries/view/82322/13ea50accd581dd5901242b1e2c1ec73?frame_id=445675
C2011 6.7.9 Initialization // Examples
https://researchmap.jp/blogs/blog_entries/view/82322/cc6d1698889e4529e927f4ac120668b4?frame_id=445675
C2011 6.8.3 Expression and null statements // Examples
https://researchmap.jp/blogs/blog_entries/view/82322/d5b6b675f21e8c845bbb5015dd7c0a6a?frame_id=445675
C2011 6.8.4.2 The switch statement // Example
https://researchmap.jp/blogs/blog_entries/view/82322/133b71b7df2a6e93bd6c4c3221e14851?frame_id=445675
C2011 6.8.6.1 The goto statement // Examples
https://researchmap.jp/blogs/blog_entries/view/82322/355ea2f613e166de17f6ca1dd7a39de5?frame_id=445675
C2011 6.8.6.2 The continue statement // Semantics
https://researchmap.jp/blogs/blog_entries/view/82322/7d79f881632d00f3f9a434344d9dd0d6?frame_id=445675
C2011 6.8.6.4 The return statement // Example
https://researchmap.jp/blogs/blog_entries/view/82322/78e4fdc75dcf6018fc29cf8b3041ae5c?frame_id=445675
C2011 6.9.1 Function definitions // Note 141) and Examples
https://researchmap.jp/blogs/blog_entries/view/82322/fd8d1127dfbf7481ab244793d5e355b2?frame_id=445675
C2011 6.9.2 External object definitions, //Examples
https://researchmap.jp/blogs/blog_entries/view/82322/915204309d4c022df94283b73c17f56f?frame_id=445675
C2011 6.10 Preprocessing directives // Example
https://researchmap.jp/blogs/blog_entries/view/82322/ad97048a5292afff10225266dc491dc1?frame_id=445675
C2011 6.10.1 Conditional inclusion // Example
https://researchmap.jp/blogs/blog_entries/view/82322/8cac7a4c57ffa2eb53c197b38b2c60f5?frame_id=445675
C2011 6.10.2 Source file inclusion //Examples
https://researchmap.jp/blogs/blog_entries/view/82322/049f561c4f390a3457dae65d0428844e?frame_id=445675
C2011 6.10.3.3 The ## operator // Example
https://researchmap.jp/blogs/blog_entries/view/82322/9d334479f34faed39641948e1c631230?frame_id=445675
C2011 6.10.3.5 Scope of macro definitions// Examples
https://researchmap.jp/blogs/blog_entries/view/82322/2bbbbf8cf008f737c4d1f902d12f48d5?frame_id=445675
C2011 6.10.9 Pragma operator // Example
https://researchmap.jp/blogs/blog_entries/view/82322/14785d4240876dd4f7904e5540be9dc8?frame_id=445675
C2011 7.1.4 Use of library functions //note 163) and Example
https://researchmap.jp/blogs/blog_entries/view/82322/cb73087cc0e2f83112a6bcdaa4100b82?frame_id=445675
C2011 7.3.9.5 The creal functions // note 171)
https://researchmap.jp/blogs/blog_entries/view/82322/1cb526bb756613136b62fcbfbd74766a?frame_id=445675
C2011 7.6.1 The FENV_ACCESS pragma // Example
https://researchmap.jp/blogs/blog_entries/view/82322/7dfd6ddc16fb80bd29652ba520fe891e?frame_id=445675
C2011 7.6.3.2 The fesetround function // Example
https://researchmap.jp/blogs/blog_entries/view/82322/1e705b6d199bff27c14454c7c8ca1a8f?frame_id=445675
C2011 7.6.4.4 The feupdateenv function // Example
https://researchmap.jp/blogs/blog_entries/view/82322/c8faddbc0f5db0cd4f3a756e9eebc85a?frame_id=445675
C2011 7.8.1 Macros for format specifiers // Example
https://researchmap.jp/blogs/blog_entries/view/82322/df896b37f491a245efb15d9bdd983df8?frame_id=445675
C2011 7.12.3.1 The fpclassify macro // Example
https://researchmap.jp/blogs/blog_entries/view/82322/801b8bdeed18e1ae2969371584805c07?frame_id=445675
C2011 7.13.2.1 The longjmp function // Example
https://researchmap.jp/blogs/blog_entries/view/82322/8d571f65f0d7e6449e479cfab80aee6e?frame_id=445675
C2011 7.16.1.4 The va_start macro // Example
https://researchmap.jp/blogs/blog_entries/view/82322/5b3273a51debb6d3dc3409f5885da2ef?frame_id=445675
C2011 7.17.2.1 The ATOMIC_VAR_INIT macro // Example
https://researchmap.jp/blogs/blog_entries/view/82322/b7e2e3c3bbdc62c1a581740ae52b1180?frame_id=445675
C2011 7.17.2.2 The atomic_init generic function // Example
https://researchmap.jp/blogs/blog_entries/view/82322/886e94e3365e0b8d180fb73caf6e2dca?frame_id=445675
C2011 7.17.3 Order and consistency //NOTES 3
https://researchmap.jp/blogs/blog_entries/view/82322/3254726921eee6b4068ccebbad5247c5?frame_id=445675
C2011 7.17.7.4 The atomic_compare_exchange generic functions // Example
https://researchmap.jp/blogs/blog_entries/view/82322/3d0d9937564a0605bd55e50e09b0a98a?frame_id=445675
C2011 7.17.8 Atomic flag type and operations // Example
https://researchmap.jp/blogs/blog_entries/view/82322/c349f83ef7371772099deee94d50f508?frame_id=445675
C2011 7.21.6.1 The fprintf function // Examples
https://researchmap.jp/blogs/blog_entries/view/82322/3ae3073c6d097542cc5f0574b0e9988d?frame_id=445675
C2011 7.21.6.2 The fscanf function // Examples
https://researchmap.jp/blogs/blog_entries/view/82322/deb8354337bea151588150d2b4214f99?frame_id=445675
C2011 7.21.6.8 The vfprintf function // Example
https://researchmap.jp/blogs/blog_entries/view/82322/321860de8a3420ae243f8724c116f0ac?frame_id=445675
C2011 7.22.2.2 The srand function // Example
https://researchmap.jp/blogs/blog_entries/view/82322/c3db9b7b36f90028e72c84cdcd04f155?frame_id=445675
C2011 7.24.4.5 The strxfrm function // Example
https://researchmap.jp/blogs/blog_entries/view/82322/ff215ef4ffcb14b387bca27b1bc0022a?frame_id=445675
C2011 7.24.5.8 The strtok function // Example
https://researchmap.jp/blogs/blog_entries/view/82322/b8ff93b84a40d44f9a8684a985ef39e6?frame_id=445675
C2011 7.25 Type-generic math //Example
https://researchmap.jp/blogs/blog_entries/view/82322/39cde00fbb5f35b781711394010027b3?frame_id=445675
C2011 7.27.2.3 The mktime function // Example
https://researchmap.jp/blogs/blog_entries/view/82322/cfb31d953ac6908a33d993b8cf59b2f4?frame_id=445675
C2011 7.29.2.1 The fwprintf function // Example
https://researchmap.jp/blogs/blog_entries/view/82322/ab342a4119e682b94215ad97a0ef90ee?frame_id=445675
C2011 7.29.2.2 The fwscanf function // Example
https://researchmap.jp/blogs/blog_entries/view/82322/6b9d244d6c16ca20807cec04f051afec?frame_id=445675
C2011 7.29.2.5 The vfwprintf function // Example
https://researchmap.jp/blogs/blog_entries/view/82322/8860f29aa5cd5ce7db7136ce2321caf7?frame_id=445675
C2011 7.29.4.4.4 The wcsxfrm function // Example
https://researchmap.jp/blogs/blog_entries/view/82322/e51591528e6fa7dee04437e0c8c7791a?frame_id=445675
C2011 7.29.4.5.7 The wcstok function // Example
https://researchmap.jp/blogs/blog_entries/view/82322/efe69a0451c9bc692df26631ccf3f063?frame_id=445675
C2011 F.8.4 Constant expressions // Example
https://researchmap.jp/blogs/blog_entries/view/82322/b2c4174ade564065e6ab089344ee2ccb?frame_id=445675
C2011 F.8.5 Initialization // Example & note 367)
https://researchmap.jp/blogs/blog_entries/view/82322/ff9a5da3503bae5a07d2ff8ddd25ebf4?frame_id=445675
C2011 F.9.1 Global transformations // for example
https://researchmap.jp/blogs/blog_entries/view/82322/ba1fa49efceb292912909265ac82b474?frame_id=445675
C2011 F.9.3 Relational operators // Example
https://researchmap.jp/blogs/blog_entries/view/82322/64fd21012e3a68cceb7efcca5f91457a?frame_id=445675
C2011 G.5.1 Multiplicative operators // Examples
https://researchmap.jp/blogs/blog_entries/view/82322/d8b79714b78b9522c7df1eb343ddb85d?frame_id=445675
C2011 K.3.5.3.2 The fscanf_s function // Examples
https://researchmap.jp/blogs/blog_entries/view/82322/97bb92c5b1084ba486faced0483e1409?frame_id=445675
C2011 K.3.7.1.4 The strncpy_s function
https://researchmap.jp/blogs/blog_entries/view/82322/3ac0644000c2561ab0d5517ed84da77e?frame_id=445675
C2011 K.3.7.2.2 The strncat_s function // Example
https://researchmap.jp/blogs/blog_entries/view/82322/08164f50252bdc12198053243cbf15e1?frame_id=445675
C2011 K.3.7.3.1 The strtok_s function // Example
https://researchmap.jp/blogs/blog_entries/view/82322/dac4478b796ba0d37f2a841e6b028c65?frame_id=445675
C2011 K.3.9.2.1.2 The wcsncpy_s function // Example
https://researchmap.jp/blogs/blog_entries/view/82322/0eaa0709c1019d3b743084b5695a03f6?frame_id=445675
C2011 K.3.9.2.2.2 The wcsncat_s function // Example
https://researchmap.jp/blogs/blog_entries/view/82322/58b9c9c6edd943a113d50257b6ac8116?frame_id=445675
C2011 K.3.9.2.3.1 The wcstok_s function // Example
https://researchmap.jp/blogs/blog_entries/view/82322/234cec5feb9a8d34dd6cb0688387bd8b?frame_id=445675
gcc-4.9 -std=c11 c2011-6-10-3-5-ex.c -E
https://researchmap.jp/blogs/blog_entries/view/82322/5018785ccfa051e04f1ba6658c7d9340?frame_id=445675
C2011 6.10.3.4 Rescanning and further replacement //Example
https://researchmap.jp/blogs/blog_entries/view/82322/0b664cf139edee75bf0c08f64eea71ec?frame_id=445675
5.2.4.2.2 Characteristics of floating types
https://researchmap.jp/blogs/blog_entries/view/82322/bd332bb9f36ddec28c39c6b3f5a8faa3?frame_id=445675
C2011 6.4 Lexical elements : Examples
https://researchmap.jp/blogs/blog_entries/view/82322/e180109bc42765d03d2d02488aadf926?frame_id=445675
C2011 6.4.4.4 Character constants : Examples
https://researchmap.jp/blogs/blog_entries/view/82322/132ca2d789cad4046df4f3ffe487b617?frame_id=445675
C2011 //6.5.6 Additive operators // Example
https://researchmap.jp/blogs/blog_entries/view/82322/3ebe85dd33d8d8cfb166829d320072b0?frame_id=445675
C2011 Annex L Analyzability //defined
https://researchmap.jp/blogs/blog_entries/view/82322/910fecca9f69edf7ce7a791761a9fcad?frame_id=445675
C2011 Annex F.10.3.4 The frexp functions //body
https://researchmap.jp/blogs/blog_entries/view/82322/4aa70944adc980be608742faf5afbb2a?frame_id=445675
C2011 F.10.3.12 The modf functions // implemented
https://researchmap.jp/blogs/blog_entries/view/82322/333928d4708a5df7535ea2eef9be20ec?frame_id=445675
C2011 F.10.6.1 The ceil functions // Implement
https://researchmap.jp/blogs/blog_entries/view/82322/e84af9675a3b242ab87ded7434373448?frame_id=445675
C2011 F.10.6.6 The round functions // Implement
https://researchmap.jp/blogs/blog_entries/view/82322/a1535dbb8d1b3b42319c1c9ac39c4f71?frame_id=445675
C2011 F.10.7.1 The fmod functions // Implement
https://researchmap.jp/blogs/blog_entries/view/82322/13da55f4b2180b26407451765df27d2b?frame_id=445675
関連資料
C2011 samples using LLVM(Apple Macintosh)
https://researchmap.jp/blogs/blog_entries/view/82322/a294a3e8808725654e396afc15acef49?frame_id=445675
<この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。>
文書履歴(document history)
ver. 0.01 初稿 20230527
ver. 0.02 ありがとう追記 20230620
最後までおよみいただきありがとうございました。
いいね 💚、フォローをお願いします。
Thank you very much for reading to the last sentence.
Please press the like icon 💚 and follow me for your happy life.