36:
508:, dynamic type checking, exception handling, and possibly debugging functionality. For this reason, some programming bugs are not discovered until the program is tested in a "live" environment with real data, despite sophisticated compile-time checking and testing performed during development.
495:
The runtime library may implement a portion of the runtime environment's behavior, but if one reads the code of the calls available, they are typically only thin wrappers that simply package information, and send it to the runtime environment or operating system. However, sometimes the term
503:
For example, some language features that can be performed only (or are more efficient or accurate) at runtime are implemented in the runtime environment and may be invoked via the runtime library API, e.g. some logic errors, array
488:, execution of those calls to the runtime library cause communication between the executable binary and the runtime environment. A runtime library often includes built-in functions for memory management or
515:
during compilation, such as implementations of arithmetic operations not directly supported by the targeted CPU, or various miscellaneous compiler-specific operations and directives.
443:
500:
is meant to include the code of the runtime environment itself, even though much of that code cannot be directly reached via a library call.
481:
119:
277:
53:
436:
100:
57:
72:
321:
370:
79:
700:
472:, by inserting calls to the runtime library into compiled executable binary. The runtime environment implements the
178:
429:
511:
As another example, a runtime library may contain code of built-in low-level operations too complicated for their
46:
705:
294:
265:
86:
349:
271:
680:
402:
327:
206:
68:
417:
531:
376:
154:
652:
299:
282:
194:
184:
135:
477:
457:
355:
575:
469:
171:
541:
489:
93:
485:
149:
599:
527:
523:
505:
473:
331:
315:
211:
526:
like that created by an application programmer or delivered by a third party, nor with a
289:
189:
694:
684:
627:
570:
244:
164:
492:. Therefore, a runtime library is always specific to the platform and compiler.
385:
366:
234:
229:
35:
17:
201:
249:
512:
465:
239:
159:
380:
336:
558:
361:
553:
530:, meaning a program library linked at run time. For example, the
412:
536:
408:
345:
340:
29:
476:, built-in functions, and other fundamental behaviors of a
534:
requires only a minimal runtime library (commonly called
60:. Unsourced material may be challenged and removed.
544:) that has to be provided by each implementation.
540:), but defines a large standard library (called
622:
620:
437:
8:
653:"Other Built-in Functions Provided by GCC"
444:
430:
131:
464:is a set of low-level routines used by a
120:Learn how and when to remove this message
522:should not be confused with an ordinary
587:
394:
307:
257:
221:
141:
134:
628:"4. The GCC low-level runtime library"
600:"The C Runtime Initialization, crt0.o"
468:to invoke some of the behaviors of a
7:
593:
591:
58:adding citations to reliable sources
395:Notable compilers & toolchains
25:
34:
45:needs additional citations for
681:What is the C runtime library?
632:Internals of the GNU compilers
1:
598:Bennett, Jeremy (July 2010).
352:target-specific initializer)
179:Intermediate representation
722:
27:Type of software library
403:GNU Compiler Collection
328:Common Language Runtime
532:C programming language
258:Compilation strategies
604:Howto: Porting newlib
480:. During execution (
283:Compile and go system
478:programming language
458:computer programming
356:Java virtual machine
278:Tracing just-in-time
54:improve this article
576:Runtime environment
470:runtime environment
172:Optimizing compiler
701:Computer libraries
542:C standard library
490:exception handling
518:The concept of a
454:
453:
136:Program execution
130:
129:
122:
104:
69:"Runtime library"
16:(Redirected from
713:
706:Run-time systems
668:
667:
665:
664:
657:GCC Introduction
649:
643:
642:
640:
639:
624:
615:
614:
612:
611:
595:
539:
486:computer program
446:
439:
432:
308:Notable runtimes
295:Transcompilation
142:General concepts
132:
125:
118:
114:
111:
105:
103:
62:
38:
30:
21:
18:Run-time library
721:
720:
716:
715:
714:
712:
711:
710:
691:
690:
677:
672:
671:
662:
660:
651:
650:
646:
637:
635:
626:
625:
618:
609:
607:
597:
596:
589:
584:
567:
550:
535:
528:dynamic library
524:program library
520:runtime library
506:bounds checking
498:runtime library
474:execution model
462:runtime library
450:
330:(CLR) and
316:Android Runtime
212:Virtual machine
126:
115:
109:
106:
63:
61:
51:
39:
28:
23:
22:
15:
12:
11:
5:
719:
717:
709:
708:
703:
693:
692:
689:
688:
676:
675:External links
673:
670:
669:
644:
616:
586:
585:
583:
580:
579:
578:
573:
566:
563:
562:
561:
556:
549:
546:
452:
451:
449:
448:
441:
434:
426:
423:
422:
421:
420:
415:
406:
397:
396:
392:
391:
390:
389:
383:
374:
364:
359:
353:
343:
334:
325:
319:
310:
309:
305:
304:
303:
302:
297:
292:
290:Precompilation
287:
286:
285:
280:
269:
260:
259:
255:
254:
253:
252:
247:
242:
237:
232:
224:
223:
219:
218:
217:
216:
215:
214:
209:
204:
199:
198:
197:
190:Runtime system
182:
176:
175:
174:
169:
168:
167:
152:
144:
143:
139:
138:
128:
127:
42:
40:
33:
26:
24:
14:
13:
10:
9:
6:
4:
3:
2:
718:
707:
704:
702:
699:
698:
696:
686:
685:StackExchange
682:
679:
678:
674:
658:
654:
648:
645:
633:
629:
623:
621:
617:
605:
601:
594:
592:
588:
581:
577:
574:
572:
569:
568:
564:
560:
557:
555:
552:
551:
547:
545:
543:
538:
533:
529:
525:
521:
516:
514:
509:
507:
501:
499:
493:
491:
487:
483:
479:
475:
471:
467:
463:
459:
447:
442:
440:
435:
433:
428:
427:
425:
424:
419:
416:
414:
410:
407:
404:
401:
400:
399:
398:
393:
387:
384:
382:
378:
375:
372:
368:
365:
363:
360:
357:
354:
351:
347:
344:
342:
338:
335:
333:
329:
326:
323:
320:
317:
314:
313:
312:
311:
306:
301:
300:Recompilation
298:
296:
293:
291:
288:
284:
281:
279:
276:
275:
273:
270:
267:
266:Ahead-of-time
264:
263:
262:
261:
256:
251:
248:
246:
243:
241:
238:
236:
233:
231:
228:
227:
226:
225:
222:Types of code
220:
213:
210:
208:
205:
203:
200:
196:
193:
192:
191:
188:
187:
186:
183:
180:
177:
173:
170:
166:
163:
162:
161:
158:
157:
156:
153:
151:
148:
147:
146:
145:
140:
137:
133:
124:
121:
113:
110:December 2013
102:
99:
95:
92:
88:
85:
81:
78:
74:
71: –
70:
66:
65:Find sources:
59:
55:
49:
48:
43:This article
41:
37:
32:
31:
19:
661:. Retrieved
656:
647:
636:. Retrieved
631:
608:. Retrieved
603:
571:Static build
519:
517:
510:
502:
497:
494:
461:
455:
272:Just-in-time
245:Machine code
165:Compile time
116:
107:
97:
90:
83:
76:
64:
52:Please help
47:verification
44:
386:Zend Engine
367:Objective-C
235:Object code
230:Source code
207:Interpreter
155:Translation
695:Categories
663:2013-12-30
638:2013-12-30
610:2013-12-30
606:. Embecosm
582:References
484:) of that
202:Executable
80:newspapers
411:and
379:and
369:and
339:and
250:Microcode
185:Execution
565:See also
548:Examples
513:inlining
482:run time
466:compiler
324:(Erlang)
240:Bytecode
160:Compiler
381:Node.js
337:CPython
195:Runtime
94:scholar
559:msvcrt
362:LuaJIT
274:(JIT)
96:
89:
82:
75:
67:
659:. GNU
634:. GNU
554:glibc
413:Clang
405:(GCC)
388:(PHP)
371:Swift
358:(JVM)
318:(ART)
268:(AOT)
101:JSTOR
87:books
537:crt0
460:, a
418:MSVC
409:LLVM
346:crt0
341:PyPy
332:Mono
322:BEAM
181:(IR)
150:Code
73:news
456:In
56:by
697::
655:.
630:.
619:^
602:.
590:^
377:V8
373:'s
687:)
683:(
666:.
641:.
613:.
445:e
438:t
431:v
350:C
348:(
123:)
117:(
112:)
108:(
98:·
91:·
84:·
77:·
50:.
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.