Khiêu chuyển đáo nội dung

GNU C hàm thức khố

本页使用了标题或全文手工转换
Duy cơ bách khoa, tự do đích bách khoa toàn thư
( trọng định hướng tựGlibc)
GNU C khố
Nguyên tác giảRoland McGrath
Khai phát giảGNU kế hoa
Thủ thứ phát bố1987 niên,​37 niên tiền​ (1987)[1]
Đương tiền bản bổn
  • 2.40( 2024 niên 7 nguyệt 22 nhật; ổn định bản bổn )[2]
編輯維基數據鏈接
Nguyên đại mã khố編輯維基數據鏈接
Biên trình ngữ ngônC ngữ ngôn
Thao tác hệ thốngLoại UNIXHệ thống
Loại hìnhKhố
Hứa khả hiệp nghịLGPLv2.1[3]
Võng trạmwww.gnu.org/software/libc/
Linux API do Linux nội hạch đích hệ thống điều dụng tiếp khẩu, GNU C khố ( GNU ), libdrm, libalsa hòa libevdev tổ thành.
Glibc thị Linux nội hạch hệ thống điều dụng đích phong trang khí.
Linux nội hạch hòa GNU C khố cộng đồng cấu thành liễu Linux API. Biên dịch hậu, nhị tiến chế văn kiện đề cung ABI.

GNU C khố,Hựu danhglibc,Thị GNU kế hoa sở thật hiện đíchC tiêu chuẩn khố.Tẫn quản kỳ danh tự trung đái hữu “C khố”, đãn tha hiện tại dã trực tiếp chi trì C++ ( dĩ cập gian tiếp chi trì kỳ tha biên trình ngữ ngôn ). Tha thị tự do nhuyễn kiện cơ kim hội ( FSF ) tại 20 thế kỷ 90 niên đại sơ vi tha môn đích GNU thao tác hệ thống thiết kế đích. Tha viGNU hệ thống,GNU/LinuxHệ thống hòa nhất ta kỳ tha đíchLoại Unix hệ thốngĐề cung liễu hệ thống hạch tâm khố. Giá ta khố đề cung liễu quan kiện đích API, bao quát ISO C11, POSIX.1-2008 hòa BSD sở quy định đích API hòa nhất ta để tằng API, bao quát open, read, write, malloc, printf, getaddrinfo, dlopen, pthread_create, crypt, login, exit đẳng.

glibc tạiGNU khoan thông dụng công cộng hứa khả chứngHạ phát bố.[3]

Lịch sử

[Biên tập]

glibc hạng mục tối sơ chủ yếu doRoland McGrathBiên tả, tha tại 20 thế kỷ 80 niên đại vi tự do nhuyễn kiện cơ kim hội ( FSF ) công tác.[4]

1988 niên, FSF xưng glibc dĩ cơ bổn thật hiệnANSI CSở quy định đích nội dung[5];Đáo 1992 niên, tha dĩ kinh thật hiện liễuANSI C-1989HòaPOSIX.1-1990Sở quy định đích công năng, tịnh chính tại tiến hành quan vu thật hiện POSIX.2 đích công tác.[6]

1995 niên 9 nguyệt,Ulrich DrepperVi glibc hạng mục tố xuất liễu tha đích đệ nhất cá cống hiến, tịnh tại 20 thế kỷ 90 niên đại trục tiệm thành vi glibc đích hạch tâm cống hiến giả hòa duy hộ giả.[7]Drepper đam nhậm duy hộ viên nhất chức đa niên, trực đáo 2012 niên luy kế chiêm hạng mục tổng cống hiến đích 63%.[8]

Linux libc

[Biên tập]

Tại 20 thế kỷ 90 niên đại sơ,Linux nội hạchĐích khai phát đoàn độiPhân xoaLiễu Glibc, danh vi “Linux libc” tịnh đan độc duy hộ.

Đương FSF tại 1997 niên 1 nguyệt phát bố glibc 2.0 thời, do vu glibc 2.0 canh phù hợp POSIX tiêu chuẩn, nội hạch khai phát giả đình chỉ liễu Linux libc đích khai phát.[9]glibc 2.0 hoàn cụ hữu canh hảo đíchQuốc tế hóaHòa phiên dịch,IPv6Công năng, 64 vị sổ cư phóng vấn,Đa tuyến trìnhChi trì, vị lai bản bổn đích kiêm dung tính, nhi thả đại mã canh gia khả di thực.[10]

Tối hậu bản bổn đích Linux libc sử dụng đích khố văn kiện danh thịlibc.so.5.Nhân thử, Linux thượng đích glibc 2.x sử dụng đích khố văn kiện danh xưng vilibc.so.6.[11](AlphaHòaIA64Bình đài đích glibc sử dụnglibc.so.6.1 đại thế). Giá ta dĩ.so vi hậu chuế đích văn kiện thông thường bị súc tả vi libc6 ( lệ như tạiDebianĐích nhuyễn kiện bao danh trung ), tuân tuần nhất bàn khố đích quán lệ.

Căn cưRichard StallmanĐích thuyết pháp, do vu khai phát giả môn đích thân phân mô hồ, FSF vô pháp tương Linux libc tố xuất đích cải động hợp tịnh đáo glibc trung. GNU hạng mục đối bản quyền tương quan đích yếu cầu thập phân nghiêm cách.[12]

Thành lập ủy viên hội

[Biên tập]

Tự 2001 niên khởi, khố đích khai phát do[13]Nhất cá giam quản ủy viên hội phụ trách,[14]Đãn bảo lưu liễu Drepper chủ yếu cống hiến giả hòa duy hộ giả đích thân phân. Ủy viên hội đích thiết lập bị Drepper công nhiên thuyết thành thịRichard StallmanĐích âm mưu quỷ kế, nhân nhi bị công cộng tranh nghị sở bao vi.[15][16][17]

Thiên di đáo git

[Biên tập]

glibc dĩ tiền bị trữ tồn tạiCVSThương khố trung, 2009 niên bị thiên di đáo Sourceware thượng đíchGitThương khố..[18]


Ủy viên hội giải tán

[Biên tập]

2012 niên 3 nguyệt, ủy viên hội đầu phiếu quyết định giải tán, tịnh triệt tiêu Drepper đích chức vụ, chuyển nhi do Ryan Arnold, Maxim Kuvyrkov, Joseph Myers, Carlos O'Donell hòa Alexandre Oliva phụ trách glibc đích duy hộ công tác. Đãn thị, tha môn đối vu glibc một hữu ngạch ngoại đích quyết sách quyền.[19][20]

Tại ủy viên hội giải tán hậu, Debian hòa kỳ tha sử dụng glibc thế đại phẩm đích hạng mục hựu thiên di hồi đáo liễu glibc.[21]Tòng 2014 niên khai thủy,EGLIBCBất tái khai phát, nhân vi tha “Hiện tại đích mục tiêu thị tại glibc thượng trực tiếp giải quyết vấn đề”.[22]

2017 niên 7 nguyệt, tại glibc sang lập 30 niên thời, Roland McGrath tuyên bố bất tái trực tiếp tham dữ hạng mục, tịnh tuyên bố tự kỷ vi danh dự duy hộ giả. “Quá khứ giá kỉ cá nguyệt, thậm chí quá khứ kỉ niên, dĩ kinh chứng minh nhĩ môn bất tái nhu yếu ngã liễu”.[4]

Bản bổn lịch sử

[Biên tập]

Đối vu đại đa sổ hệ thống lai thuyết, glibc đích bản bổn khả dĩ thông quá giải tích lib văn kiện ( lệ như, /lib/libc.so.6 ) hoạch đắc.

Công năng

[Biên tập]

glibc thật hiện liễuĐan nhất UNIX quy phạm,POSIX ( 1c, 1d hòa 1j ) sở yếu cầu đích công năng, tịnh thật hiện liễu ISOC11,ISOC99,Berkeley Unix( BSD ) tiếp khẩu, System V tiếp khẩu định nghĩa (SVID) hòa X/Open Portability Guide (XPG) 4.2 sở yếu cầu đích bộ phân công năng, tịnh đề cung liễu sở hữu phù hợpXSI( X/Open System Interface ) đích hệ thống sở cộng hữu đích khoách triển dĩ cập sở hữuX/Open UNIXKhoách triển.

Thử ngoại, glibc hoàn đề cung liễu tại khai phátGNUThời bị nhận vi hữu dụng hoặc tất yếu đích khoách triển.

Thụ chi trì đích ngạnh kiện hòa nội hạch

[Biên tập]

glibc khả dĩ vận hành tại hứa đa bất đồng đích nội hạch hòa bất đồng đích ngạnh kiện giá cấu thượng. Quan phương chi trì đích ngạnh kiện giá cấu[38]Bao quát:32 vị ARM, AArch64,C-SKY,DEC Alpha,IA-64,Motorola m68k,MicroBlaze,MIPS,Nios II,PA-RISC,PowerPC,RISC-V,s390,SPARC,Hòax86( cựu bản bổn chi trìTILE). Glibc quan phương chi trìHurdHòaLinuxNội hạch. Thử ngoại, hoàn hữu đại lượng đả quá bổ đinh đích bản bổn khả dĩ vận hành tạiFreeBSDHòaNetBSDThượng ( nhân thử glibc dã tương ứng địa chi trìDebian GNU/kFreeBSDHòaDebian GNU/NetBSD,Nhân vi giá ta nội hạch dữ FreeBSD hòa NetBSD đích quan liên ngận đại ), dĩ cậpOpenSolarisĐích phân chi bản bổn.[39]Glibc đích nhất cá tu cải quá đích bản bổn dã bị dụng tạiBeOSHòaHaikuTrung.[40]

Tại tiểu hình thiết bị trung đích sử dụng

[Biên tập]

Glibc tại quá khứ nhân quá vu ung thũng thả tốc độ bỉ kỳ tha C khố giác mạn, tao đáo nhất ta khai phát giả môn đích phê bình, nhưLinus Torvalds[41]Hòa nhất taKhảm nhập thứcKhai phát trình tự viên. Xuất vu giá cá nguyên nhân, nhân môn sang kiến liễu kỉ cá dụng vu tại khảm nhập thức bình đài thế đại Glibc đích C tiêu chuẩn khố. Giá ta khố giác Glibc canh tiểu. Nhiên nhi, hứa đa khảm nhập thức khai phát hạng mục nhưng sử dụng Glibc, nhân vi tha canh gia phù hợp tiêu chuẩn thả kiêm dung tính canh hảo. Lệ nhưOpenmoko[42]Hòa doiPaqSử dụng đíchFamiliar Linux( tại sử dụngGPEHiển kỳ nhuyễn kiện thời )[43].

Tương quan điều mục

[Biên tập]

Tham khảo tư liêu

[Biên tập]
  1. ^Corbet, Jonathan.A turning point for GNU libc.LWN.net. 2012-03-28[2013-02-05].( nguyên thủy nội dungTồn đươngVu 2016-04-23 ).
  2. ^The GNU C Library version 2.40 is now available.2024 niên 7 nguyệt 22 nhật[2024 niên 7 nguyệt 23 nhật ].
  3. ^3.03.1sourceware.org Git - glibc.git/blob - COPYING.LIB.sourceware.org.[2017-09-23].
  4. ^4.04.1Roland McGrath bows out as glibc maintainer [LWN.net].lwn.net. 2017-07-07[2017-07-08].( nguyên thủy nội dungTồn đươngVu 2020-08-01 ).
  5. ^GNU's Bulletin, vol. 1 no. 4, February, 1988.[2020-10-24].( nguyên thủy nội dungTồn đươngVu 2016-04-16 ).Most libraries are done. Roland McGrath […] has a nearly complete set of ANSI C library functions. We hope they will be ready some time this spring.
  6. ^GNU's Bulletin, vol. 1 no. 12.[2020-10-24].( nguyên thủy nội dungTồn đươngVu 2016-03-11 ).It now contains all of the ANSI C-1989 and POSIX.1-1990 functions, and work is in progress on POSIX.2 and Unix functions (BSD and System V)
  7. ^glibc changelogonGitHub.
  8. ^Corbet, Jonathan.A turning point for GNU libc.LWN.net. 2012-03-28[2013-02-05].( nguyên thủy nội dungTồn đươngVu 2016-04-23 ).Of the nearly 19, 000 commits found in the project's git repository (which contains changes back to 1995), over 12, 000 were made by Ulrich.
  9. ^Forking: it could even happen to you.2008-09-12[2020-10-24].( nguyên thủy nội dungTồn đươngVu 2009-09-15 ).the split between GNU LIBC and the Linux LIBC -- it went on for years while Linux stabilized, and then the forks re-merged into one project
  10. ^Lee, Elliot.A Technical Comparison of glibc 2.x With Legacy System Libraries.2001[2020-10-24].(Nguyên thủy nội dungTồn đương vu 2004-04-11 ).
  11. ^Fear of Forking essay, see "6. glibc --> Linux libc --> glibc".[2020-10-24].( nguyên thủy nội dungTồn đươngVu 2014-07-18 ).
  12. ^Fear of Forking, footnote on Stallman's merge comments.[2020-10-24].( nguyên thủy nội dungTồn đươngVu 2014-07-18 ).
  13. ^Ulrich Drepper.LinkedIn.[2012-06-13].( nguyên thủy nội dungTồn đươngVu 2014-09-10 ).
  14. ^glibc homepage.[2020-10-24].( nguyên thủy nội dungTồn đươngVu 2016-04-22 ).In 2001 The GNU C Library Steering Committee…, was formed and currently consists of Mark Brown, Paul Eggert, Andreas Jaeger, Jakub Jelinek, Roland McGrath and Andreas Schwab.
  15. ^Drepper, Ulrich.RMS is at it again.sourceware.org. 2000-06-26[2015-11-20].( nguyên thủy nội dungTồn đươngVu 2012-12-28 ).A few weeks ago RMS started the next attack on me (a single mail, followed by indirect tries to take influence, followed by another mail today). The essence is that he complains I am not following "GNU policies" and therefore have to be replaced by a steering committee of which I could be a part. Some of you (namely Roland and Andreas S.) probably know about this since he proposed both as other members of the committee. In addition there was Mark Brown listed (I know somebody of this name at IBM who would also fit in this group but I'm not sure whether it is really him.) Anyhow, I completely reject this. It is not helping at all, the opposite is true. First, I am not aware of any essential policies I'm violating. The only ones are that I'm not following orders from RMS which clearly have political intends (which is of course a sacrilege) and possibly that I do not care about Winblowz (if the latter counts at all). None of this will change in any way.
  16. ^Drepper, Ulrich.glibc 2.2.4.sourceware.com. 2001-08-15[2015-11-29].( nguyên thủy nội dungTồn đươngVu 2016-04-09 ).And now for some not so nice things. Stallman recently tried what I would call a hostile takeover of the glibc development. He tried to conspire behind my back and persuade the other main developers to take control so that in the end he is in control and can dictate whatever pleases him. This attempt failed but he kept on pressuring people everywhere and it got really ugly. In the end I agreed to the creation of a so-called "steering committee" (SC).
  17. ^rms-accused-of-attempting-glibc-hostile-takeover(Hiệt diện tồn đương bị phân,Tồn vuHỗ liên võng đương án quán) onslashdot.com on August 19, 2001
  18. ^glibc repo(Hiệt diện tồn đương bị phân,Tồn vuHỗ liên võng đương án quán) on Sourceware.com
  19. ^McGrath, Roland.glibc steering committee dissolving.Sourceware.org. 2012-03-26[2012-06-13].( nguyên thủy nội dungTồn đươngVu 2019-09-26 ).
  20. ^Myers, Joseph S.GNU C Library development and maintainers.Sourceware.org. 2012-03-26[2012-06-13].( nguyên thủy nội dungTồn đươngVu 2019-09-26 ).
  21. ^Debian is switching (back) to GLIBC.Aurélien. 2014-06-19[2014-06-19].( nguyên thủy nội dungTồn đươngVu 2020-11-12 ).
  22. ^Debian package changelog.[2020-10-24].(Nguyên thủy nội dungTồn đương vu 2014-12-27 ).
  23. ^CosmicCuttlefish/ReleaseNotes - Ubuntu Wiki.wiki.ubuntu.com.[2020-10-24].( nguyên thủy nội dungTồn đươngVu 2020-12-25 ).
  24. ^Chapter 5. RHEL 8.0.0 release Red Hat Enterprise Linux 8.Red Hat Customer Portal.[2020-10-24].( nguyên thủy nội dungTồn đươngVu 2020-11-25 ).
  25. ^Chapter 2. What's new in Debian 10.www.debian.org.[2020-10-24].( nguyên thủy nội dungTồn đươngVu 2020-11-12 ).
  26. ^Changes/GLIBC228.[2020-10-24].( nguyên thủy nội dungTồn đươngVu 2020-10-01 ).
  27. ^Red Hat Bugzilla – Bug 1598403.[2020-10-24].( nguyên thủy nội dungTồn đươngVu 2020-08-01 ).
  28. ^sourceware.org Git - glibc.git/blob - NEWS.[2020-10-24].(Nguyên thủy nội dungTồn đương vu 2022-03-21 ).
  29. ^DiscoDingo/ReleaseNotes - Ubuntu Wiki.wiki.ubuntu.com.[2020-10-24].( nguyên thủy nội dungTồn đươngVu 2021-01-29 ).
  30. ^Changes/GLIBC229.[2020-10-24].( nguyên thủy nội dungTồn đươngVu 2020-10-29 ).
  31. ^Red Hat Bugzilla – Bug 1653403.[2020-10-24].( nguyên thủy nội dungTồn đươngVu 2020-08-15 ).
  32. ^sourceware.org Git - glibc.git/blob - NEWS.[2020-10-24].( nguyên thủy nội dungTồn đươngVu 2019-09-26 ).
  33. ^EoanErmine/ReleaseNotes - Ubuntu Wiki.wiki.ubuntu.com.[2020-10-24].( nguyên thủy nội dungTồn đươngVu 2020-11-12 ).
  34. ^Changes/GLIBC230 - Fedora Project Wiki.fedoraproject.org.[2020-10-24].( nguyên thủy nội dungTồn đươngVu 2020-09-19 ).
  35. ^Focal (20.04): glibc package: Ubuntu.Launchpad.
  36. ^Changes/GLIBC231 - Fedora Project Wiki.fedoraproject.org.[2020-10-24].( nguyên thủy nội dungTồn đươngVu 2020-06-18 ).
  37. ^The GNU C Library version 2.32 is now available.sourceware.org.[2020-08-13].( nguyên thủy nội dungTồn đươngVu 2020-09-28 ).
  38. ^The GNU C Library machine maintainers..[2020-10-24].( nguyên thủy nội dungTồn đươngVu 2016-04-18 ).
  39. ^Bartley, David; Spang, Michael.GNU/kOpenSolaris (GNU libc/base + OpenSolaris kernel).[2008-12-16].(Nguyên thủy nội dungTồn đương vu 2019-11-06 ).
  40. ^Haiku Source.[2020-10-24].( nguyên thủy nội dungTồn đươngVu 2016-05-01 ).libroot.so is not part of GNU project and is included in Haiku source code.
  41. ^Torvalds, Linus.Posting to the glibc mailing list.9 January 2002[2020-10-24].( nguyên thủy nội dungTồn đươngVu 2015-10-12 ).
  42. ^OpenMoko components.[2020-10-24].( nguyên thủy nội dungTồn đươngVu 2016-04-22 ).We will use glibc (not uClibC)… The alternatives may save more space and be more optimized, but are more likely to give us integration headaches
  43. ^Re: [Familiar] Which glibc for Familiar 0.8.4?.[2020-10-24].(Nguyên thủy nội dungTồn đương vu 2022-03-12 ).Question: which version of the GLIBC was used to build the Familiar 0.8.4? Answer: 2.3.3

Ngoại bộ liên tiếp

[Biên tập]