Understanding C ++ Assembly

I think I know what assembly is. But I'm not sure. My build definition is another word for saying a compiled application. Can someone please tell me what assembly is. And why do people ask for 3 types of assembly. Such as debug builds, profile builds, and build builds. What are the differences.

[edit] assembly types

+4
source share
3 answers

See Visual Studio Debugging and Release Modes

Release mode

When an assembly is created in release mode, the compiler performs all available optimizations to ensure that the output executables and libraries are executed as efficiently as possible. This mode should be used for completed and tested software, which should be released to end users. The disadvantage of the release mode is that the generated code is usually faster and smaller, it is not available for debugging tools.

Debug mode

Debug mode is used in software development. When the assembly is compiled in debug mode, additional symbolic information is added and the code is not optimized. This means that compiler output is usually larger, slower, and less efficient. However, the debugger can be attached to the running program to allow the code to go through the step, controlling the values โ€‹โ€‹of internal variables.

+6
source

Build means that basically a set of tasks is performed for your program. The main components of a typical assembly are compiled and linked.

More specifically, an assembly may include compiling, linking, setting version numbers, copying outputs to a location, creating an installer, and something else.

When people talk about debugging or releasing an assembly, etc., they can have different settings specific to each. For example, in the debug assembly, you will create the database files of the program for debugging.

+3
source

The line should not include only compiled and related targets. Usually there is at least one of them, but โ€œassemblyโ€ can also include creating text or binary files, moving images, sounds and other files to the right places to access the file or any other operation that is required to run the application.

Several types of assemblies are created to target different "audiences" if you want. For example, end users do not need to collect information about what functions were called, how many times an exception was thrown, or any other diagnostic information (although this information is valuable to developers). Typically, the final build of the "release" is performed as fast and small, and does not load the user with such additional features.

0
source

Source: https://habr.com/ru/post/1306759/


All Articles