有一个数字媒体设备,我想让ImageMagick命令行工具‘导入’工作。尝试从其他系统运行二进制文件会产生“无法执行二进制文件”错误,因为体系结构不同(我猜)。
我如何让这个工具在这个MIPS架构上工作--设备上没有编译器或包管理器。
最终的目标是使用导入来拍摄任何给定时间附加显示上的屏幕截图。
uname -a
Linux 4310 2.6.22.19-27-sigma #2 PREEMPT Mon May 16 01:03:35 PDT 2011 mips GNU/Linux
more /proc/cpuinfo
system type : Sigma Des
我在附近尝试使用简单的程序集脚本,似乎找不到打印数组长度的方法。下面是最小的复制品:
let a = new Array<string>();
logging.log(a.length.toString());
不编译
ERROR TS2339: Property 'toString' does not exist on type 'i32'.
logging.log(a.length.toString());
~~~~~~~~
in assembly/main.ts(171,23)
如果我有这样的代码:
{
int x = f();
if (g(x)) return;
int y = h();
// use y
}
编译器可能会意识到x不是在if语句之后使用的,它可以将变量y放在x占用的寄存器中吗?我知道所有编译器都是不同的,但问题是这是否是我可以合理依赖的常见优化。我想知道,因为我想让优化器删除额外的寄存器,而不是想出像this_variable_holds_x_then_y这样的名字。
在x周围添加一个额外的作用域,这样编译器就可以从外部看到它是不可访问的,这样会有帮助吗?