What files do linux o and a have?
In Linux, the ".o" file refers to the target file, that is, the computer file that stores the target code; the target file contains the machine code (can be directly executed by the computer's central processor) and the code when it is running The data used, in addition to other debugging information. The ".a" file refers to a static library file, which means that the function or process to be called is linked to the executable file and becomes part of the executable file. The function code called by the dynamic link is not copied to the application's executable file. executable file, but adds the description information of the called function to it.
#The operating environment of this tutorial: linux7.3 system, Dell G3 computer.
o is object, which is equivalent to the obj file compiled under windows, is commonly known as the target file
a is archive, which is equivalent to the lib file compiled under window's VC, is commonly known as a static library file; multiple .a can be linked to generate an exe executable file.
.o file is a link file, .a static library file is generated by .o file, and serves as a library external program to provide functions and interfaces. Generate .o file.
o file (object file) in Linux
The object file (objectfile) is a computer file that stores the object code. It is often called " Called "binaries". The object file contains machine code (which can be executed directly by the computer's central processor) and data used by the code when running, such as relocation information, such as the program symbol table (names of variables and functions) used for linking or debugging, in addition to Includes additional debugging information.
There are three types of target file forms under Linux:
Executable target files, relocatable target files and shared target files. There are also corresponding ones called executable files, object files, and shared libraries. They just have different terms and refer to the same thing.
Executable object file: contains binary code and data and can be executed directly in memory.
Relocatable target file: Contains binary code and data that can be combined with other relocatable target files at compile time to create an executable target file.
Shared object file: It is a special relocatable object file that can be dynamically loaded into memory and linked during loading or runtime.
In fact, compilers and assemblers generate relocatable object files (including shared object files). The linker generates an executable object file.
Object file file format under Linux:
Due to the compiled intermediate files (.obj under Windows and .o under Linux), dynamic link libraries and static The link library (.lib.dll under Windows and .a.so under Linux) is similar in content and structure to the executable file, so it is generally stored in the same file format as the executable file.
a file (static library file) in linux
.a file is a static link library file in the LINUX system.
The so-called static linking refers to linking the function or process to be called into the executable file and becoming part of the executable file. When multiple programs call the same function, there will be multiple copies of the function in the memory, thus wasting precious memory resources. .so files are shared library files (dynamically linked). The function code called by dynamic linking is not copied to the executable file of the application, but only the description information of the called function (often some relocation information) is added to it. Only when the application is loaded When the memory starts running, under the management of the operating system, a link relationship is established between the application and the corresponding .so.
.a file is a combination of multiple .o files. The .o file is an object file, and the content contained in it is machine-executable instructions such as 01. When the program is to be executed, it needs to be linked. Linking is to link multiple .o files into an executable file.
Related recommendations: "Linux Video Tutorial"
The above is the detailed content of What files do linux o and a have?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

VS Code system requirements: Operating system: Windows 10 and above, macOS 10.12 and above, Linux distribution processor: minimum 1.6 GHz, recommended 2.0 GHz and above memory: minimum 512 MB, recommended 4 GB and above storage space: minimum 250 MB, recommended 1 GB and above other requirements: stable network connection, Xorg/Wayland (Linux)

The five basic components of the Linux system are: 1. Kernel, 2. System library, 3. System utilities, 4. Graphical user interface, 5. Applications. The kernel manages hardware resources, the system library provides precompiled functions, system utilities are used for system management, the GUI provides visual interaction, and applications use these components to implement functions.

Although Notepad cannot run Java code directly, it can be achieved by using other tools: using the command line compiler (javac) to generate a bytecode file (filename.class). Use the Java interpreter (java) to interpret bytecode, execute the code, and output the result.

The reasons for the installation of VS Code extensions may be: network instability, insufficient permissions, system compatibility issues, VS Code version is too old, antivirus software or firewall interference. By checking network connections, permissions, log files, updating VS Code, disabling security software, and restarting VS Code or computers, you can gradually troubleshoot and resolve issues.

vscode built-in terminal is a development tool that allows running commands and scripts within the editor to simplify the development process. How to use vscode terminal: Open the terminal with the shortcut key (Ctrl/Cmd). Enter a command or run the script. Use hotkeys (such as Ctrl L to clear the terminal). Change the working directory (such as the cd command). Advanced features include debug mode, automatic code snippet completion, and interactive command history.

To view the Git repository address, perform the following steps: 1. Open the command line and navigate to the repository directory; 2. Run the "git remote -v" command; 3. View the repository name in the output and its corresponding address.

Writing code in Visual Studio Code (VSCode) is simple and easy to use. Just install VSCode, create a project, select a language, create a file, write code, save and run it. The advantages of VSCode include cross-platform, free and open source, powerful features, rich extensions, and lightweight and fast.

VS Code is available on Mac. It has powerful extensions, Git integration, terminal and debugger, and also offers a wealth of setup options. However, for particularly large projects or highly professional development, VS Code may have performance or functional limitations.
