it-swarm-id.com

Di mana saya menemukan dokumen standar C atau C ++ saat ini?

Untuk banyak pertanyaan, jawabannya sepertinya ditemukan dalam "standar". Namun, di mana kita menemukannya? Lebih disukai online.

Googling kadang-kadang bisa terasa sia-sia, sekali lagi terutama untuk standar C, karena mereka tenggelam dalam banjir diskusi di forum pemrograman.

Untuk memulai ini, karena ini adalah yang saya cari saat ini, di mana ada sumber daya online yang bagus untuk:

  • C89
  • C99
  • C11
  • C++ 98
  • C++ 03
  • C++ 11
  • C++ 14
394
Christoffer

Versi standar PDF

Pada 1 September 2014, lokasi terbaik berdasarkan harga untuk dokumen standar C dan C++ di PDF adalah:

Anda biasanya tidak bisa mendapatkan revisi standar lama (standar apa pun) langsung dari badan standar tak lama setelah edisi baru standar dirilis. Dengan demikian, standar untuk C89, C90, C99, C++ 98, C++ 03 akan sulit ditemukan untuk pembelian dari badan standar. Jika Anda memerlukan revisi standar lama, centang Techstreet sebagai salah satu sumber yang mungkin. Misalnya, masih dapat menyediakan versi Kanada CAN/CSA-ISO/IEC 9899: 1990 dalam PDF, dengan biaya tambahan.

Versi elektronik non-PDF dari standar

Cetak versi standar

Salinan cetak standar tersedia dari badan standar nasional dan ISO tetapi sangat mahal.

Jika Anda menginginkan hardcopy standar C90 dengan biaya yang jauh lebih murah daripada di atas, Anda mungkin dapat menemukan salinan buku Herb Schildt yang murah digunakan ) Standar ANSI Beranotasi di Amazon , yang berisi teks aktual dari standar (berguna) dan komentar pada standar (kurang bermanfaat).

Standar C99 dan C++ 03 tersedia dalam bentuk buku dari Wiley dan BSI (British Standards Institute):

Versi draft komite standar

Draf kerja untuk standar di masa mendatang sering tersedia dari situs web komite:

Perhatikan bahwa dokumen-dokumen ini tidak sama dengan standar, meskipun versi sebelum pertemuan yang memutuskan standar biasanya sangat dekat dengan apa yang ada dalam standar akhir. Versi FCD (Final Committee Draft) dilindungi kata sandi; Anda harus berada di komite standar untuk mendapatkannya.

Namun, menurut pendapat saya, meskipun versi draft mungkin sangat dekat dengan versi standar akhir yang telah diratifikasi, Anda harus benar-benar mendapatkan salinan dokumen yang sebenarnya - terutama jika Anda berencana mengutipnya sebagai referensi. Tentu saja, siswa yang kelaparan harus melanjutkan dan menggunakan konsep jika kekurangan uang.


Tampaknya, jika Anda bersedia dan dapat menunggu beberapa bulan setelah ratifikasi suatu standar, untuk mencari "INCIT/ISO/IEC" daripada "ISO/IEC" ketika mencari standar adalah kuncinya. Dengan cara ini saya dapat menemukan standar C++ 11 dengan harga yang wajar dan sekarang standar C11. Jadi, sebagai contoh Anda mencari "INCITS/ISO/IEC 9899: 2011" bukan "ISO/IEC 9899: 2011" di webstore.ansi.org dan Anda akan menemukan versi PDF yang masuk akal.


Situs https://wg21.link/ menyediakan tautan URL singkat ke C++ draft kerja saat ini dan draft standar, dan makalah komite:


Draf standar saat ini dipertahankan sebagai sumber LaTeX pada Github . Sumber-sumber ini dapat dikonversi ke HTML menggunakan cxxdraft-htmlgen . Situs-situs berikut memelihara halaman-halaman HTML yang dihasilkan:

Lagu Tim juga mempertahankan versi HTML dan PDF yang dihasilkan dari TS Jaringan dan TS Ranges.

407
Michael Burr

Versi standar online dapat ditemukan:

Working Draft, Standar untuk Bahasa Pemrograman C++

Berikut semua versi konsep standar :
Semua yang berikut ini dapat diunduh secara bebas
2019-08-15: N48git
2019-06-17: N482git
2019-03-15: N481git
2019-01-21: N48git
2018-11-26: N4791git
2018-10-08: N4778git
2018-07-07: N4762git
2018-05-07: N475git
2018-04-02: N4741git
2018-02-12: N4727git
2017-11-27: N471git
2017-10-16: N47git
2017-07-30: N4687git

Ini tampaknya menjadi standar baru:
Versi ini membutuhkan Otentikasi
2017-03-21: N466 adalah Standar Draf C++ 17

Berikut semua versi konsep standar :
Semua yang berikut ini dapat diunduh secara bebas
2017-03-21: N4659git
2017-02-06: N464git
2016-11-28: N4618git
2016-07-12: N4606git
2016-05-30: N4594git
2016-03-19: N4582git
2015-11-09: N4567git
2015-05-22: N4527git
2015-04-10: N4431git
2014-11-19: N4296git

Ini tampaknya merupakan standar C++ 14 yang lama :
Versi ini membutuhkan Otentikasi
2014-10-07: N414git Pada dasarnya C++ 14 dengan kesalahan kecil dan kesalahan ketik diperbaiki
2014-09-02: N4141git Standar C++ 14
2014-03-02: N3937
2014-03-02: N3936git

Berikut semua versi konsep standar :
Semua yang berikut ini dapat diunduh secara bebas
2013-10-13: N3797git
2013-05-16: N3691
2013-05-15: N369
2012-11-02: N3485
2012-02-28: N3376
2012-01-16: N3337git Pada dasarnya C++ 11 dengan kesalahan kecil dan kesalahan ketik diperbaiki

Ini tampaknya merupakan standar C++ 11 yang lama :
Versi ini membutuhkan Otentikasi
2011-04-05: N3291 C++ 11 (Atau Sangat Dekat)

Berikut semua versi konsep standar :
Semua yang berikut ini dapat diunduh secara bebas
2011-02-28: N3242 (perbedaan dari N3291 sangat kecil)
2010-11-27: N3225
2010-08-21: N3126
2010-03-29: N309
2010-02-16: N3035
2009-11-09: N30
2009-09-25: N296
2009-06-22: N2914
2009-03-23: N2857
2008-10-04: N2798
2008-08-25: N272
2008-06-27: N2691
2008-05-19: N2606
2008-03-17: N2588
2008-02-04: N2521
2007-10-22: N2461
2007-08-06: N2369
2007-06-25: N2315
2007-05-07: N2284
2006-11-03: N2134
2006-04-21: N2009
2005-10-19: N1905
2005-04-27: N1804

Ini tampaknya merupakan standar C++ 03 yang lama:
Semua versi di bawah ini memerlukan Otentikasi
2004-11-05: N17
2004-07-16: N1655 Tidak Resmi
2004-02-07: N1577 C++ 03 (Atau Sangat Dekat)
2001-09-13: N1316 Draft Corrigendum Teknis yang Diperluas
1997-00-00: N1117 Draf Diperluas Corrigendum Teknis

Berikut semua versi konsep standar :
Semua yang berikut ini dapat diunduh secara bebas
1996-00-00: N0836 Draf Diperluas Corrigendum Teknis
1995-00-00: N0785 Working Paper untuk Draft Usulan Standar Internasional untuk Sistem Informasi - Bahasa Pemrograman C++

Makalah Menarik Lainnya:

2019 / 2018 / 2017 / 2016 / 2015 / 2014) / 201 / 2012 / 2011

413
Martin York

C99 adalah tersedia online . Dikutip dari www.open-std.org :

Versi standar yang tersedia untuk umum adalah C99 + TC1 + TC2 + TC3, WG14 N1256 , tertanggal 2007-09-07. Ini adalah kertas kerja WG14, tetapi mencerminkan standar konsolidasi pada saat penerbitan.

63
Frederico

Draf Tautan:

C++ 11 (+ perbaikan editorial): N3337 HTML , PDF

C++ 14 (+ perbaikan editorial): N4140 HTML , PDF

C11 N157 ( teks )

C99 N1256

Draf dari Standar diedarkan untuk komentar sebelum ratifikasi dan publikasi.

Catatan bahwa draft kerja bukan standar yang berlaku saat ini, dan itu bukan standar yang diterbitkan

24
user1055604

Anda mungkin menemukan konsep standar internasional untuk C++ 0x bermanfaat.

12
James Hopkin

Standar ISO membutuhkan biaya, dari jumlah moderat (untuk versi PDF), hingga sedikit lebih banyak (untuk versi buku).

Meskipun mereka belum selesai, mereka biasanya dapat ditemukan online, sebagai konsep. Seringkali versi final tidak berbeda secara signifikan dari draft terakhir, jadi meskipun tidak sempurna, mereka akan cocok dengan baik.

9
Pieter

Standar C99 dan C++ 03 tersedia dalam bentuk buku dari Wiley:

Plus, sebagaimana telah disebutkan, draft kerja untuk standar di masa mendatang sering tersedia dari situs web komite:

Konsep C-201x tersedia sebagai N1336 , dan konsep C++ 0x sebagai N3225 .

6
Anthony Williams

Standar ISO C dan C++ sangat mahal. Di sisi lain, INCIT menerbitkannya kembali dengan harga yang jauh lebih murah. http://www.techstreet.com/ tampaknya memiliki PDF sebesar $ 30 (mencari INCIT/ISO/IEC 14882: 2003).

Versi cetak juga tersedia. Cari versi British Standards Institute, yang diterbitkan oleh Wiley.

3
MSalters

Teks a konsep standar ANSI C (alias C.89) tersedia online. Ini distandarisasi oleh komite ANSI sebelum diterima oleh Standar ISO C (C.90), sehingga penomoran bagian-bagian berbeda (ANSI bagian 2 hingga 4 kira-kira sesuai dengan bagian ISO 5 sampai 7), walaupun isinya (seharusnya menjadi) sebagian besar identik.

3
jxh

Dokumen standar aktual mungkin bukan yang paling berguna. Sebagian besar penyusun tidak sepenuhnya menerapkan standar dan kadang-kadang dapat benar-benar bertentangan. Jadi dokumentasi kompiler yang sudah Anda miliki akan lebih bermanfaat. Selain itu, dokumentasi akan berisi pernyataan dan catatan khusus platform pada setiap peringatan.

2
Kris Kumler

Meskipun bukan standar aktual, ada amandemen ISO C (C89/90) yang disebut C94/95, atau Normative Addendum 1. Diintegrasikan ke dalam C99, meskipun beberapa kompiler seperti Dentang memungkinkan Anda untuk menetapkan -std=c94 pada baris perintah. ISO/IEC 9899: 1990/AMD 1: 1995 dapat dibeli dengan harga yang lumayan dari SAI GLOBAL (PDF atau hard salinan).

Ringkasan dokumen dapat ditemukan di sini .

Ketika (saat itu konsep) Standar ANSI C dipertimbangkan untuk mengadopsi Standar Internasional pada tahun 1990, ada beberapa keberatan karena tidak membahas masalah internasionalisasi. Karena Standar sudah beberapa tahun dalam pembuatan, disepakati bahwa beberapa perubahan akan dibuat untuk memberikan dasar (misalnya, fungsi-fungsi dalam subayat 7.10.7 ditambahkan), dan pekerjaan akan dilakukan secara terpisah untuk menyediakan internasionalisasi Standar yang tepat. Karya ini telah memuncak dalam Adendum Normatif 1.

Addendum 1 normatif mewujudkan reaksi C terhadap keterbatasan dan janji set karakter internasional. Digraphs dan header dimaksudkan untuk meningkatkan tampilan program C yang ditulis dalam varian nasional ISO 646 tanpa, mis., {Atau} karakter. Di ujung lain spektrum, fasilitas yang terhubung ke dan memperluas standar lama yang hampir tidak memadai menjadi seperangkat utilitas yang lengkap dan konsisten untuk menangani karakter lebar dan string multibyte.

Dokumen ini merangkum Adendum Normatif 1. Ini dimaksudkan untuk dengan cepat memberi tahu pembaca yang sudah terbiasa dengan Standar; itu tidak, dan tidak bisa, memperkenalkan pokok permasalahan yang rumit di belakang NA1, juga tidak dapat menggantikan dokumen asli sebagai manual referensi. (Namun demikian, ia berusaha seakurat mungkin, dan penulisnya ingin mendengar tentang kesalahan atau kelalaian.)

1
user3920237