Tiny C Compiler
Bổn điều mục tồn tại dĩ hạ vấn đề,Thỉnh hiệp trợCải thiện bổn điều mụcHoặc tạiThảo luận hiệtChâm đối nghị đề phát biểu khán pháp.
|
Khai phát giả | Fabrice Bellard |
---|---|
Đương tiền bản bổn | 0.9.27 ( 2017 niên 12 nguyệt 17 nhật | )
Nguyên đại mã khố | |
Biên trình ngữ ngôn | C ngữ ngônCậpTổ hợp ngữ ngôn |
Thao tác hệ thống | Linux,Unix,Windows |
Loại hình | C ngữ ngônBiên dịch khí |
Hứa khả hiệp nghị | GNU khoan thông dụng công cộng hứa khả chứng |
Võng trạm | http://bellard.org/tcc/ |
Tiny C Compiler( súc tả vi TCC, tCc hoặc TinyCC ) thị nhất cá dụng ôx86( 16/32 vị nguyên ) hoặcx86-64( 64 vị nguyên ) hệ thống đíchCBiên dịch khí,Khai phát giả viFabrice Bellard.Nhuyễn thể thị thiết kế dụng ô đê giai điện não hoàn cảnh, hoặc thị ô từ điệp dung lượng hữu hạn đích không gian trung ( 1.44 từ phiến hoặc thị ngạnh điệp ). Nhuyễn thể khả dĩ thích dụng ôWindows,Linux,UnixTác nghiệp hệ thống, nhi tối tân bản bổn vi 0.9.27 ( 2017 niên 12 nguyệt 17 nhật ). TCC thị tạiGNU khoan thông dụng công cộng hứa khả chứng( LGPL ) hiệp định quy phạm hạ phát bố.
TCC phù hợpANSI C( C89/C90 ) quy phạm[1]Diệc phù hợp tân bản đích ISOC99Tiêu chuẩn quy phạm, dữ GNU C khoách triển đích nội khảmTổ hợp ngữ ngôn( tứcinline assembler) công năngHối biên ngữ ngôn.
Thật hiện trạng thái
[Biên tập]- Chi viện C99 VLA quy phạm
- Hoàn toàn chi việnC89,Cơ bổn phù hợpC99Quy phạm
- Khả sản sinh make dependencies ( -MD/-MF )
- Chi viện đa chủng bình đài đíchMục tiêu đại mãSinh thành, lệ:x86-64,ARM,OSX,WinCE,kFreeBSD,Hurd
Đặc sắc công năng
[Biên tập]TCC dữ kỳ tha C ngữ ngôn biên dịch khí đích bất đồng xử tại ô:
- Dung lượng tiểu, nhuyễn thể đại tiểu ước vi 1MB tả hữu, khả trữ tồn ô 1.44MB đích từ điệp phiến trung sử dụng.
- Tốc độ khoái, dĩ TCC khai phát đích trình thức khả chấp hành ô x86 ( 16/32 vị nguyên ) dữ x86-64 ( 64 vị nguyên ) hoàn cảnh trung, cư khai phát giả thuyết, chấp hành bỉGCCGiác lai đắc tương đương khoái tốc.[2]Trình thức diệc khả dĩ bao hàmTổ hợp ngữ ngôn(inline assembler) ô kỳ trung chấp hành dữ biên dịch.
- Vô hạn chế, kỳ tha C ngữ ngôn đích động thái Library chi yếu phù hợp ISO C99 quy phạm, giai khả dĩ cấp dư TCC lai sử dụng dữ biên dịch.
- An toàn tính, TCC bao hàm nhất cá khả tuyển đích ký ức thểBiên giới kiểm tra,Kinh quá kiểm trắc đích trình thức mã khả dĩ tùy ý địa hỗn hợp ô tiêu chuẩn trình thức mã nội.
- Kỳ tha, TCC vi mệnh lệnh liệt thức đích sử dụng, mục tiền tịnh vôChỉnh hợp tính khai phát hoàn cảnh,Đãn khả dĩ phối hợp kỳ tha đích biên tập nhuyễn thể sử dụng ( như:UltraEdit... Đẳng ).
Dụng đồ
[Biên tập]Trứ danh đích TCC ứng dụng bao quát:
- TCCBOOT[3],Nhất cá khả dĩ tại đại ước 10 miểu nội tòng nguyên mã khải độngLinux nội hạchĐíchKhải động trình thức.Cai khải động trình thức khả dĩ tòng ngạnh bàn trung độc thủ Linux nguyên đại mã, tương khả chấp hành chỉ lệnh tả nhập nội tồn tịnh chấp hành.
- TCC tằng bị dụng vu diễn kỳ đốiNhuyễn thể hậu mônĐích phòng ngự.[4]
- TCC tằng bị dụng vu biên dịchGCC,Tuy nhiên nhu yếu bất thiếu bổ đinh tài năng hoàn thành giá cá thao tác.
- Cinpy[5],Nhất cá duẫn hứa tại Python mô khối trung thiêm gia C hàm sổ đích khố. Giá ta C hàm sổ tại vận hành thời sử dụng TCC biên dịch, nhiên hậu thông quá ctypes khố tại Python đại mã trung điều dụng.
- Bị an trang tại JSLinux[6],Nhất cá năng tại lưu lãm khí trung vận hành Linux hòa kỳ tha thao tác hệ thống đích hư nghĩ cơ ( dã thị do Bellard khai phát đích ).
- Bị dụng vu biên dịch siêu vi hình quốc tế tượng kỳ dẫn kình.[7]
- TCC tằng bị nội kiến ôGoogle Android hệ thống,Ô Android 2.0 bản bổn trung.[8]
Khai phát lịch sử
[Biên tập]TCC hạng mục khởi nguyên vu OTCC ( Obfuscated TCC, tức đại mã hỗn hào quá đích TCC ), giá thị Bellard vi doanh đắc 2001 niênQuốc tế C ngữ ngôn hỗn loạn đại mã đại tái( IOCCC ) biên tả đích nhất cá trình tự. Kỳ hậu, Bellard phản hỗn hào tịnh diên thân phát triển liễu cai trình tự, vu thị hữu liễu TCC.[9]
Tại 2012 niên 2 nguyệt 4 nhật chi tiền đích mỗ cá thời gian, Bellard tại TCC đích quan phương võng trạm thượng tuyên bố tha bất tái tham dữ TCC đích duy hộ công tác.[10]
Tự tòng Bellard ly khai TCC hạng mục dĩ lai, dĩ kinh hữu bất thiếu tổ chức hòa cá nhân phân phát bổ đinh hoặc sang kiến duy hộ phân chi, vi TCC đề cung cấu kiến chi trì dĩ cập vấn đề tu phục.
Tham khảo văn hiến
[Biên tập]Dẫn dụng
[Biên tập]- ^Tiny C Compiler Reference Documentation(Hiệt diện tồn đương bị phân,Tồn vuHỗ liên võng đương án quán) accessed on 2008-08-07]
- ^Tiny C Compiler quan phương võng trạm thượng quan vu biên dịch tốc độ đích đối bỉ.[2019-03-01].( nguyên thủy nội dungTồn đươngVu 2019-02-19 ).
- ^TCCBOOT.[2019-03-01].( nguyên thủy nội dungTồn đươngVu 2011-05-18 ).
- ^Wheeler, David A.Countering Trusting Trust through Diverse Double-Compiling(Hiệt diện tồn đương bị phân,Tồn vuHỗ liên võng đương án quán).ACSAC.
- ^Cinpy.[2019-03-01].( nguyên thủy nội dungTồn đươngVu 2008-11-20 ).
- ^JavaScript Linux.[2019-03-01].( nguyên thủy nội dungTồn đươngVu 2011-07-09 ).
- ^Super Micro-Max Chess Engine.[2019-03-01].( nguyên thủy nội dungTồn đươngVu 2019-03-02 ).
- ^libacc: Android 2.0 nội kiến đích khinh lượng cấp C Compiler.[2012-05-06].( nguyên thủy nội dungTồn đươngVu 2010-10-23 ).
- ^Bellard, Fabrice.Obfuscated Tiny C Compiler(Hiệt diện tồn đương bị phân,Tồn vuHỗ liên võng đương án quán)
- ^archive.org thượng tối cổ lão đích TCC quan phương võng trạm khoái chiếu, tuyên bố Bellard đình chỉ duy hộ TCC hạng mục..[2012-02-04].( nguyên thủy nội dungTồn đươngVu 2011-04-08 ).
Lai nguyên
[Biên tập]- Tiny C Compiler Reference Documentation(Hiệt diện tồn đương bị phân,Tồn vuHỗ liên võng đương án quán) accessed on 2008-08-07
- Glöckner, Daniel.Re: Tinycc-devel (no subject)(Hiệt diện tồn đương bị phân,Tồn vuHỗ liên võng đương án quán), September 8, 2006.
- a b grischka,GCC by TCC (some fixes)(Hiệt diện tồn đương bị phân,Tồn vuHỗ liên võng đương án quán), 29 Sep 2005
- Wheeler, David A.Countering Trusting Trust through Diverse Double-Compiling. ACSAC(Hiệt diện tồn đương bị phân,Tồn vuHỗ liên võng đương án quán).
- Bellard, Fabrice.Obfuscated Tiny C Compiler(Hiệt diện tồn đương bị phân,Tồn vuHỗ liên võng đương án quán)
- Bellard Fabrice Project Homepage(Hiệt diện tồn đương bị phân,Tồn vuHỗ liên võng đương án quán)
Ngoại bộ liên kết
[Biên tập]- Tiny C Compiler quan phương võng trạm(Hiệt diện tồn đương bị phân,Tồn vuHỗ liên võng đương án quán)
- Tiny C Compiler develop archive(Hiệt diện tồn đương bị phân,Tồn vuHỗ liên võng đương án quán)
- Tiny C Compiler GIT(Hiệt diện tồn đương bị phân,Tồn vuHỗ liên võng đương án quán)
Tham kiến
[Biên tập]- Portable C Compiler( PCC )
- Small-C
- Nội liên hối biên( inline assembler )
|