假设您在C/C++中有一个函数,它在第一次运行时表现出某种特定的行为.然后,所有其他时间它表现出另一种方式(例如见下文).在第一次运行之后,if语句变得多余,如果速度很重要,可以将其优化掉.有没有办法进行这种优化?
bool val = true;
void function1() {
if (val == true) {
// do something
val = false;
}
else {
// do other stuff, val is never set to true again
}
}
Run Code Online (Sandbox Code Playgroud) 本着这个问题的精神,我想问一个类似的问题,但是关于编译器,而不是解释器.
什么是可以编译自己的代码的概念上最小的编译器?
当我说"概念上最小"时,我的意思是它只使用非常基本的概念并从那里构建,而不是它包含非常短的代码.为什么这是一个重要的区别的一个例子是OTCC是一个非常小的C编译器,它很小,因为它被混淆,不一定是因为它在概念上很简单(它也可能在概念上很简单,但我不知道;它被混淆了).
我还想补充一点,以下也可能是一个非常概念上的小程序,但实际上并没有告诉我们发生了什么,所以它并不是我正在寻找的:
(writefile argv[2] (generate (parse (readfile argv[1]))))
Run Code Online (Sandbox Code Playgroud)
我真正想要的是一种语言:
我对此感兴趣因为
如果它不存在,我可能只是自己写.:)
是否可以使用 Code Sourcery G++ 为 ARM(主机 == 目标 == ARM)编译本机 GCC?如果不可能,我可以使用 crosstool-NG 来构建交叉编译,然后使用这个来编译本机 ARM GCC 吗?
谢谢,
编辑:至于原因:我正在为beagleboard创建自己的发行版......