Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Small-C
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Subset of a programming language}} {{Distinguish|Small-c conservative}} {{Infobox software | name = Small-C | logo = | developer = Ron Cain, James E. Hendrix | released = {{Start date and age|1980}} | latest release version = | latest release date = | operating system = | genre = [[Compiler]] | programming language = [[C (programming language)|C programming language]] | license = Copyrighted but sharable | website = }} '''Small-C''' is both a subset of the [[C (programming language)|C programming language]], suitable for resource-limited [[microcomputer]]s and [[embedded system]]s, and an implementation of that subset. Originally valuable as an early [[compiler]] for microcomputer systems available during the late 1970s and early 1980s, the implementation has also been useful as an example simple enough for teaching purposes. The original compiler, written in Small-C for the [[Intel 8080]] by Ron Cain, appeared in the May 1980 issue of ''[[Dr. Dobb's Journal]]''. James E. Hendrix improved and extended the original compiler, and wrote ''The Small-C Handbook''. Ron [[Bootstrapping (compilers)|bootstrapped]] Small-C on the [[SRI International]] [[PDP 11]]/45 [[Unix]] system with an account provided by John Bass for Small C development. The provided [[source code]] was released with management permission into the [[public domain]].{{citation needed|date=September 2020}} Small-C was important for tiny computers in a manner somewhat analogous to the importance of [[GNU Compiler Collection|GCC]] for larger computers. Just like its [[Unix-like|Unix]] counterparts, the compiler generates [[assembly language|assembler code]], which then must be translated to [[machine code]] by an available [[assembly language#Assembler|assembler]]. Small-C is a [[retargetable compiler]]. Porting Small-C requires only that the back-end [[code generation (compiler)|code generator]] and the library to operating system interface calls be rewritten for the target processor.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)