Компилятор уақытында қолданылатын кітапханалар және олардың қызметі
Runtime library
Компилятордағы runtime кітапханасы – тұжырымдама, платформаға және компиляторға байланысты, төмен деңгейдегі процедуралар жиынтығы. Бағдарлама ортасының негізгі функциялары.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Кіріспе
Компьютерлік бағдарламалауда, орындалу уақыты кітапханасы – компилятордың орындалу уақыты ортасының кейбір мүмкіндіктерін шақыру үшін, құрастырылған орындалатын бинарлық файлға орындалу уақыты кітапханасына шақыруларды енгізу арқылы пайдаланатын төменгі деңгейлі процедуралар жиынтығы. Орындалу уақыты ортасы орындалу моделін, кіріктірілген функцияларды және бағдарламалау тілінің басқа да негізгі мүмкіндіктерін іске асырады. Сондықтан, орындалу уақыты кітапханасы әрқашан платформа мен компиляторға қатысты болады. Орындалу уақыты кітапханасы орындалу уақыты ортасының мүмкіндіктерінің бір бөлігін іске асыруы мүмкін, бірақ қолжетімді шақырулардың кодын қарастырсаңыз, олар әдетте ақпаратты жинап, оны орындалу уақыты ортасына немесе операциялық жүйеге жіберетін қарапайым орауыштар болып табылады. Дегенмен, кейде "орындалу уақыты кітапханасы" термині орындалу уақыты ортасының кодын қамтуы мүмкін, тіпті осы кодтың көп бөлігі кітапхана шақыру арқылы тікелей қолжетімді болмаса да. Мысалы, кейбір тілдік мүмкіндіктер тек орындалу уақытында ғана (немесе тиімдірек немесе дәл) іске асырылуы мүмкін және орындалу уақыты кітапханасы API арқылы шақырылуы мүмкін, мысалы, кейбір логикалық қателерді табу, массив шектерін тексеру, динамикалық типті тексеру, ерекше жағдайларды өңдеу және мүмкін, қателерді жою мүмкіндігі. Осы себепті, кейбір бағдарламалау қателері бағдарламаны "тікелей" ортада нақты деректермен сынақтан өткізгенге дейін, даму кезінде жүргізілген күрделі компиляция уақытындағы тексерулер мен сынақтарға қарамастан, анықталмайды. Мысалы, орындалу уақыты кітапханасы компиляция кезінде енгізуге тым күрделі төменгі деңгейлі операциялардың кодын қамтуы мүмкін, мысалы, мақсатты процессор тікелей қолдамайтын арифметикалық операцияларды іске асыру немесе әртүрлі компиляторға тән операциялар мен директивалар. Орындалу уақыты кітапханасының ұғымын қолданбалы бағдарламашы жасаған немесе үшінші тарап ұсынған қарапайым бағдарламалық кітапханамен, сондай-ақ орындалу уақытында байланыстырылатын динамикалық кітапханамен шатастыруға болмайды. Мысалы, C бағдарламалау тілі тек минималды орындалу уақыты кітапханасын (әдетте crt0 деп аталады) қажет етеді, бірақ әрбір іске асырумен қамтамасыз етілуі тиіс үлкен стандартты кітапхананы (C стандартты кітапханасы деп аталады) анықтайды.
In computer programming, a runtime library is a set of low level routines used by a compiler to invoke some of the behaviors of a runtime environment, by inserting calls to the runtime library into compiled executable binary. The runtime environment implements the execution model, built in functions, and other fundamental behaviors of a programming language. Therefore, a runtime library is always specific to the platform and compiler. 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 runtime library 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. 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 bounds checking, 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. As another example, a runtime library may contain code of built in low level operations too complicated for their inlining during compilation, such as implementations of arithmetic operations not directly supported by the targeted CPU, or various miscellaneous compiler specific operations and directives. The concept of a runtime library should not be confused with an ordinary program library like that created by an application programmer or delivered by a third party, nor with a dynamic library, meaning a program library linked at run time. For example, the C programming language requires only a minimal runtime library (commonly called crt0), but defines a large standard library (called C standard library) that has to be provided by each implementation.