[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.