相关疑难解决方法(0)

C和汇编程序实际编译的是什么?

所以我发现C(++)程序实际上并没有编译成简单的"二进制"(我可能在这里遇到了一些问题,在这种情况下我很抱歉:D)但是对于一系列事物(符号表) ,os相关的东西,...)但......

  • 汇编程序"编译"到纯二进制文件?这意味着除了预定义的字符串等资源之外没有额外的东

  • 如果C编译成除了普通二进制文件以外的其他内容,那么小型汇编程序引导程序如何只是将指令从HDD复制到内存并执行它们?我的意思是,如果操作系统内核(可能用C语言编写)编译成不同于普通二进制文件的东西 - 引导加载程序如何处理它?

编辑:我知道汇编程序没有"编译",因为它只有你的机器的指令集 - 我没有找到汇编程序"汇编"的好词.如果你有一个,请留在这里作为评论,我会改变它.

c c++ compiler-construction assembly linker

47
推荐指数
4
解决办法
2万
查看次数

将操作符号分配给变量并使用该变量进行条件检查

我可以为变量分配运算符符号并将该变量用于条件检查吗?

char operator= '>';
int val1=10;
int val2=24;
if(val2 operator val1){

    /* some code*/

}
Run Code Online (Sandbox Code Playgroud)

为什么我不能在条件内使用运算符变量?

java

7
推荐指数
1
解决办法
3692
查看次数

编译器是否总是生成汇编代码?

来自C++中的思考 - 第1卷:

在第二遍中,代码生成器遍历解析树并为树的节点生成汇编语言代码机器代码.

至少在GCC中,如果我们给出生成汇编代码的选项,编译器会通过创建包含汇编代码的文件来服从.但是,当我们只是在gcc没有任何选项的情况下运行命令时,它是否在内部不生成汇编代码?

如果是,那么为什么需要首先生成汇编代码然后将其转换为机器语言?

compiler-construction assembly gcc

6
推荐指数
1
解决办法
2604
查看次数

标签 统计

assembly ×2

compiler-construction ×2

c ×1

c++ ×1

gcc ×1

java ×1

linker ×1