[Powered by Google Translate] Nate HARDISON: Dalam pengaturcaraan, perpustakaan adalah koleksi kod prewritten berkaitan. Perpustakaan adalah bagaimana kita, sebagai pengaturcara, saham biasa dan kod membantu antara satu sama lain, dengan program-program yang berbeza kita menulis, dan walaupun dengan proses yang berbeza berjalan di masa yang sama pada komputer kita. Mari kita meneroka sedikit. Salah satu fungsi yang lebih biasa yang anda telah mungkin telah menggunakan fungsi printf. Sekarang, printf tidak beberapa fungsi sihir itu telah keras dikodkan ke dalam komputer - sebaliknya, ia adalah sebahagian daripada C Standard Perpustakaan, yang koleksi fungsi yang datang dengan C bahasa pengaturcaraan. Sejak printf tidak dibina ke dalam komputer, ini bermakna bahawa terdapat beberapa pengaturcara yang sebenarnya pergi dan menulis fungsi printf dan digabungkan dengan lain standard perpustakaan supaya masa depan pengaturcara tidak perlu pendua usaha. Dan kami pasti bersyukur bahawa kes itu, kerana periksa keluar berapa banyak kod ia sebenarnya diperlukan untuk melaksanakan printf. C Standard Perpustakaan, yang printf adalah sebahagian, salah satu alat yang paling penting anda ada dalam menangani CS50. Di samping perpustakaan input-output di mana kehidupan printf, terdapat sekumpulan perpustakaan lain yang anda mungkin akan menggunakan lebih kursus CS50. Sebagai contoh, perpustakaan rentetan mempunyai fungsi untuk membandingkan tali C, dapatkan panjang mereka, dan menyatukan mereka. Dan perpustakaan matematik memberikan anda membantu pemalar, seperti pi dan e. Sekarang, berbanding dengan perpustakaan standard pengaturcaraan lain bahasa, C Standard Perpustakaan adalah benar-benar kecil, tetapi mereka masih mempunyai sejumlah besar barangan. Dan itu bukan untuk mengatakan bahawa Perpustakaan Standard sahaja C perpustakaan; terdapat banyak lagi di luar sana dalam dunia untuk anda gunakan, termasuk Perpustakaan CS50, kartografi perpustakaan dengan penyulitan dan penyahsulitan fungsi, perpustakaan dengan fungsi untuk mengekod dan memainkan kembali video, dan sebagainya. Ini membawa kita kepada selain penting. Salah satu kemahiran yang penting dalam kejuruteraan mengetahui alat yang tersedia dalam toolbox anda supaya anda boleh menggunakan mereka dan mengelakkan Reinventing roda kecuali anda perlu untuk berbuat demikian. Sebagai pengaturcara, perpustakaan adalah salah satu yang paling penting alat yang kita ada. Apabila anda mendapati diri anda menghadapi satu tugas yang seolah-olah membosankan atau perkara biasa, seperti mencari panjang tali C, anda perlu tanya diri anda jika ia mungkin kes yang seseorang sudah melakukan perkara yang sama sebelum ini. Kemungkinan bahawa anda boleh menemui beberapa membantu dalam perpustakaan. Jadi, dari segi teknikal, perpustakaan adalah fail binari yang telah dihasilkan oleh menghubungkan bersama-sama koleksi fail objek menggunakan alat yang dipanggil, anda fikirkan, pemaut. Fail objek adalah mereka o fail yang anda dapat apabila anda menyusun C kod sumber. Apabila pengaturcara menulis perpustakaan, mereka biasanya memisahkan kod C mereka kepada dua jenis fail: header fail dan fail pelaksanaan. Satu fail header oleh konvensyen diberikan lanjutan fail. H, dan ia mengandungi kod yang mengisytiharkan perpustakaan sumber-sumber yang tersedia untuk anda gunakan. Sumber-sumber ini termasuk fungsi, pembolehubah, structs, definisi jenis, dan sebagainya, dan bersama-sama, mereka biasanya dirujuk sebagai antara muka. Malah, jika anda pernah tertanya-tanya apa yang di perpustakaan, fail header adalah tempat untuk melihat. Sebagai contoh, anda boleh tarik sehingga usr / termasuk / stdio.h dan memeriksa keluar semua yang anda pernah ingin tahu tentang io perpustakaan standard. Terdapat banyak barangan di sini, dan ia boleh mengambil sedikit masa untuk mengharungi melalui. Walau bagaimanapun, bersama-sama dengan Google dan manpages, ini adalah tempat untuk pergi jika anda tertanya-tanya bagaimana standard I / O fungsi perpustakaan bekerja. Jadi, salah satu perkara utama yang perlu diperhatikan di sini, walaupun, adalah bahawa fail header biasanya tidak termasuk definisi fungsi - yang, pelaksanaan fungsi sebenar. Ini adalah ilustrasi sains komputer penting prinsip dipanggil menyembunyikan maklumat, juga dirujuk di kali sebagai pengkapsulan. Sebagai pengguna atau pelanggan perpustakaan, anda tidak perlu tahu tentang dalaman perpustakaan di memerintahkan untuk menggunakannya. Ingat printf melihat hanya sedikit yang lalu? Sekiranya anda pernah melihat kod sebenar sebelum ini? Well, saya menganggap bahawa anda tidak mempunyai, walaupun anda mungkin telah digunakan tan printf kali. Apa yang anda telah tahu adalah fungsi yang hadir pengisytiharan dalam fail header stdio.h. Bagaimanapun, manfaat menyembunyikan maklumat yang baik adalah bahawa anda dan program yang anda menulis terlindung daripada sebarang perubahan dalam kod pelaksanaan fungsi perpustakaan. Jika pelaksanaan perubahan printf, anda tidak perlu untuk pergi dan menukar semua program anda yang menggunakan printf. Jadi di manakah pelaksanaan pergi? Nah, sekali lagi, mengikut konvensyen, pelaksanaan pergi dalam fail dengan lanjutan fail. c. Biasanya, fail header dan fail pelaksanaan pergi tangan dalam tangan, jadi jika anda telah mengisytiharkan sekumpulan rentetan baru fungsi di mystring.h, maka anda akan menentukan semua fungsi-fungsi di mystring. c. Jadi maka fail header dan pelaksanaan maka disusun, mewujudkan fail objek yang kemudiannya dikaitkan bersama-sama untuk menghasilkan fail binari perpustakaan. Penulis perpustakaan kemudian akan menghantar fail binari bersama-sama dengan fail pengepala kepada pengaturcara yang ingin menggunakan perpustakaan. Pada ketika ini, pelaksanaan fail c tidak diperlukan, kecuali untuk susun semula perpustakaan dari awal, jadi mereka sering ketinggalan. Untuk menggunakan perpustakaan C, anda perlu melakukan dua perkara. Pertama, anda # mesti termasuk fail header perpustakaan dan fail kod sumber di mana anda ingin menggunakan kod perpustakaan. Ini memberitahu pengkompil semua pengisytiharan fungsi, pembolehubah, structs, et cetera, hadir dalam fail header supaya pengkompil boleh satu, memastikan bahawa anda menggunakan sumber-sumber perpustakaan dalam cara yang betul, dan dua, menjana kod pemasangan yang sesuai. Bergantung kepada di mana fail header perpustakaan terletak, sintaks # include berbeza. Jika fail header terletak dalam sistem lalai termasuk direktori - biasanya, usr/include-- maka kurungan sudut sintaksis digunakan, seperti dalam # termasuk . Walau bagaimanapun, jika fail header terletak dalam yang sama direktori sebagai kod anda sendiri, sintaks quote double digunakan, seperti dalam # termasuk "mylib.h". Perkara kedua yang anda perlu lakukan adalah untuk menghubungkan dalam binari perpustakaan fail apabila anda menyusun kod anda. Ini adalah langkah penting super. Ingat perbincangan awal kami tentang bagaimana header fail tidak mengandungi kod pelaksanaan? Jika anda terlupa langkah ini, anda akan mendapat kesilapan tentang simbol undefined dirujuk dalam kod anda. Untuk menyelesaikan masalah ini, gunakan-l bendera diikuti segera tanpa ruang dengan nama perpustakaan. Pada banyak sistem, termasuk perkakas, Standard C Perpustakaan secara automatik dikaitkan untuk anda. Walau bagaimanapun, perpustakaan matematik kadang-kadang digabungkan secara berasingan dan mungkin perlu dikaitkan dengan lm-. Perkakas, kita menjaga ini untuk anda, dan kita juga menghubungkan perpustakaan CS50 dengan lcs50. Anda boleh melihat semua ini pada perkakas apabila anda menjalankan membuat. Sekarang anda perlu mempunyai pengetahuan yang anda perlukan untuk digunakan perpustakaan di C. Bersenang-senang meneroka. Nama saya adalah Nate Hardison, dan ini adalah CS50.