flat assembler
Message board for the users of flat assembler.
Index
> Main > Binary components in FASM |
Author |
|
vid 01 Jul 2011, 12:18
.obj files are normally linked together using linker to form an executable (.exe or .dll under Windows).
|
|||
01 Jul 2011, 12:18 |
|
AsmGuru62 01 Jul 2011, 15:35
Can .OBJ files be linked by FASM itself (without a linker)?
|
|||
01 Jul 2011, 15:35 |
|
vid 01 Jul 2011, 15:57
Nope
|
|||
01 Jul 2011, 15:57 |
|
edfed 01 Jul 2011, 23:40
what is a linker?
|
|||
01 Jul 2011, 23:40 |
|
typedef 02 Jul 2011, 00:29
edfed wrote: what is a linker? |
|||
02 Jul 2011, 00:29 |
|
idle 02 Jul 2011, 06:36
are you talking about os-independent code?
|
|||
02 Jul 2011, 06:36 |
|
vid 02 Jul 2011, 08:09
edfed wrote: what is a linker? It's a thing ignorance of which can make one e-proud. Last edited by vid on 02 Jul 2011, 14:49; edited 1 time in total |
|||
02 Jul 2011, 08:09 |
|
AsmGuru62 02 Jul 2011, 11:11
So, the only two ways for components are: DLLs and "include 'source.asm'"? That's not much.
|
|||
02 Jul 2011, 11:11 |
|
JohnFound 02 Jul 2011, 11:29
You can link several obj files to one executable using "linker".
FASM package does not contains linker, but you can use third party one. I, personally don't like linkers and the one of the main reasons to use FASM is that it can generate executable files in several formats directly. I believe, most of the FASM users like it because of this feature. There are 3 main reasons for .obj files use: 1. To be able to link HLL and ASM modules - it serves mainly HLL - assembler does not need HLL modules, but HLL need assembly modules. 2. To allow using closed source modules, accessible only as a object files. 3. To provide faster compilation for slow assemblers and compilers that simply can't compile big sources fast enough. All 3 reasons are void for FASM. |
|||
02 Jul 2011, 11:29 |
|
mindcooler 02 Jul 2011, 13:24
4. Code modularity without having to resort to dlls.
I don't like linkers either, but I would like some kind of (macro-)system that can merge several sources together in an easy way without having to chop up your modules into sections and including them in your main project. |
|||
02 Jul 2011, 13:24 |
|
JohnFound 02 Jul 2011, 18:17
mindcooler wrote: 4. Code modularity without having to resort to dlls. Code modularity is completely achievable on source level. You can see FreshLib (and the whole Fresh project) for example how to make it. If you don't want to deal with source repository, you can download the latest version of Fresh from download page. The package contains full source with many libraries on source level without any dll's or obj files. |
|||
02 Jul 2011, 18:17 |
|
AsmGuru62 03 Jul 2011, 00:28
That is what I do, basically.
I have Module.Inc (structures, constants and macros) and Module.Asm (plain code) for every module and then just include these as needed. |
|||
03 Jul 2011, 00:28 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.