问题标签 [object-code]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
assembly - SIC 汇编目标代码中的 BYTE 操作混淆
在尝试为 SIC 制作汇编程序时,我想到了这些问题。
LABEL BYTE X'AB'
这里生成的目标代码是AB
. 因此,作为示例,目标代码可能看起来像这样。
001045 4C1046 AB 001045
这里我使用空格来区分代码,但目标代码看起来像这样。
0010454C1046AB001045
那么在执行目标代码时,加载器如何发现AB
确实是一个常量而不是任何助记目标代码的一部分?
我对 WORD 也有同样的问题,因为 WORD 的长度可能是 3 个字节,但是加载程序如何区分常量和助记符代码。
任何澄清将不胜感激。
linker - LLVM:实现目标代码的链接
我正在关注万花筒教程。发出目标代码非常简单,但现在我想实现链接步骤,以便我的玩具编程语言可以直接编译成二进制文件(因此不需要clang
使用)。如何使用 LLVM 实现这一目标?
erlang - 如何获得 Erlang 本地乐趣的 AST(抽象语法树)?
例如atom
,对于某些 Erlang 术语tuple
,list
我可以使用erl_parse:abstract/1
. 但它不适用于fun
s。
我知道一些本地人fun
的信息中有他们的 AST。但这并不适用于所有 local fun
s。
获取外部fun
的 AST 并不难。我的解决方案是加载其模块梁块并获取该功能的 AST。如果您有更好的解决方案,请告诉我。主要问题是获取本地fun
s 的 AST。
c++ - C++ 模板的目标代码是否在可执行文件和动态库中重复?
库使用模板类TemplCls<TArg>
,链接的可执行文件也使用它。现在,如果相同最终二进制文件(库或可执行文件)的两个源文件使用具有相同参数的模板,则只会保留模板的一个实例化。
如果动态库和可执行文件都使用模板会发生什么?由于可执行文件的链接器(通常)将接收与动态库链接的终端选项,它是否还会记住模板已经在库本身中实例化,因此不需要将其实例化到可执行文件中?
assembly - Assembly Code mapping with source code
I am trying to map source code to object code. I am creating new constructs, building these constructs in Code Composer for Different code Optimization levels and comparing them with the source code.
The issue I am facing is, when the DSP generated the assembly code, it has inserted a couple of OR Statements for Optimization Level 2 which is hard to understand given that there are no OR statements in the construct. Appreciate any help on this. I have added Construct and 2 dissasembly files below. Thank you.
Here is how my construct looks like
Here is how the dissasembly looks like for Optimization OFF
Here is how the dissasembly for Optimization Level 2 looks like
c++ - 目标代码可以转换回 LLVM IR 吗?
目标代码可以反汇编成汇编语言。有没有办法将目标代码或可执行文件转换为 LLVM IR?
c - 当函数的声明是传统风格时,为什么输出不正确?
我已经pow
用C中的传统声明方式声明了函数。但是,函数的输出不正确。我不需要在此处包含 math.h,因为我声明了函数并且它的目标代码已经存在。这是我的代码:
上面的输出是 1,而应该是 8。请帮帮我。
c++ - 如何使用头文件从 .cpp 创建目标文件
我正在尝试通过在 linux 终端中键入来使用 g++ 创建一个目标文件:
clockType_Cayas.h
时钟类型_Cayas.cpp
但是,一旦我尝试创建目标文件,我就会收到几个错误,我不太确定可能是什么原因
终端
这些错误的原因可能是什么,我将如何解决这个问题?
c++ - 为什么我们不编写可以处理 C++ 标识符的汇编器和链接器呢?
我对我们为什么使用名称修饰的理解是汇编器和链接器只能处理 C 标识符。" int foo::bar::baz<spam::eggs>(const MoreSpam&)
" 不能被任何现有的汇编器用作标签,现有的链接器不会将其识别为有效的函数签名,因此它变成类似于 " _ZN3foo3bar3bazIN4spam4eggsEEEiRK8MoreSpam
",它(或多或少)是一个有效的 C 标识符。
但这似乎是我们工具的一个相对微不足道的限制。我们不能或不编写汇编器和链接器是否有任何充分的理由,其中的内容如下:
可以吗?