3 ms·
I’m a noob at assembly and this was something that I never figured out: For assembly languages, how does package management work? As an example, how would I “i
by boberoni 4y ago
I’m a noob at assembly and this was something that I never figured out:
For assembly languages, how does package management work? As an example, how would I “import” code from my co-worker or from an open source library on GitHub?
My first thought is that “maybe this is what a linker does…”, but what sort of toolchains exist for dependency management in assembly programming? What’s the analogy to pip, npm, cargo, etc.?
- robinsonb5 4y agoThe idea of having dependency and package management system as an inherent part of a language's ecosystem is pretty new, and there isn't really any such thing even for C, let alone assembly language. So the short answer is "that's your problem", to solve however you wish! Personally I use git submodules.
- AshamedCaptain 4y agoYour operating system's package manager is the one going to do that.
- flohofwoe 4y ago> What’s the analogy to pip, npm, cargo, etc.? mkdir and cp basically (or git submodules if you want to get fancy)
- dboreham 4y agoIt's what the linker does.
- shadowofneptune 4y agoEven being able to use that assembly source as listed is not a guarantee. There's no standard macro language, even if two assemblers share most of their syntax. As other posts have said, binary compatibility is more important.
- wyldfire 4y agoThe way you can interact with other code is via symbolic references. Indeed, the linker resolves most of these references. These are stored in an object file as a "relocation". It's considerably less convenient than a package system.
- anta40 4y ago>> What’s the analogy to pip, npm, cargo, etc.? AFAIK no one build such convenient tool for assembly programming. So, simply put the the library codes inside your project folder, configure your Makefile/batch file, tell the linker where to find required .a/.lib files, etc. More manual work, eh.