Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What exactly is a "run-time"?

Tags:

runtime

My company is always having problems with software not working because "run-times" or missing. I hear people say this a lot (you need the 32-bit run times, Microsoft run-times, etc etc).

What exactly is being referred to? DLL files? Something different? Can anyone please clarify?

like image 430
Russel Avatar asked Dec 28 '22 14:12

Russel


2 Answers

Run-time is basically the time at which your code is running (as opposed to compile-time or link-time).

In the context you're seeing it, it means run-time libraries, those libraries needed to load an execute your program.

This is dynamically linked stuff (DLLs or shared objects) since statically linked code can't be missing (it's in the executable file itself).

A classic example is to depend on Microsoft's C run-time or .NET libraries but not ship them with your product. That means your executable will run on any machine that has those libraries already there (such as those with Visual Studio installed) but not necessarily every computer you want to run your code on.

I answered a question here regarding the difference between static and dynamic linking which should hopefully add to your knowledge. The dynamic linking allows you to update certain parts of the application without recompiling or relinking. You do this by dropping in a new version of the DLL. Unfortunately, having that code in a separate file means it can go missing.

That would be one cause of the problem but I suspect the most likely is just that someone didn't do their installation code very well, otherwise everything needed would have been installed.

like image 152
paxdiablo Avatar answered Feb 20 '23 18:02

paxdiablo


A runtime in this context is a runtime library - a shared library (on Windows indeed a DLL), most commonly specifically referring to the one which provides basic functionality of the language. It implements the functions that are thought to be "built into" a language core. Thus, no program compiled with a compiler which requires a runtime library will run if such a library for it is not installed - or if the program is specifically statically linked (with everything needed packed into the executable).

like image 37
Amadan Avatar answered Feb 20 '23 16:02

Amadan