我使用Android GCC工具链(普通的linux,没有android或NDK)构建了一个原生的Linux ARM二进制文件.
我从我的电脑上通过adb shell连接到运行Android 4的平板电脑.我"adb push"将该二进制文件连接到该设备上的/ system/bin,希望我能让它在那里执行.我用chmod 777标记它是可执行文件.
如果我尝试执行它,我会得到"没有这样的文件或目录".
更多信息:小程序使用fc和fm库.由于ARM工具链似乎没有crt1,从我发现的一个例子中,通常包含启动代码,我们在android构建中搜索包含它的文件,找到了crtbegin_dynamic和crtend_dynamic,但是对于_static等价,其中一个失踪,所以我没有通过GCC的静止.它是用"-nostdlib"构建的.
可能是什么问题?
看看代码:
string expression = "x & ~y -> (s + t) & z";
var exprCharsNoWhitespace = expression.Except( new[]{' ', '\t'} ).ToList();
var exprCharsNoWhitespace_2 = expression.Replace( " ", "" ).Replace( "\t", "" ).ToList();
// output for examination
Console.WriteLine( exprCharsNoWhitespace.Aggregate( "", (a,x) => a+x ) );
Console.WriteLine( exprCharsNoWhitespace_2.Aggregate( "", (a,x) => a+x ) );
// Output:
// x&~y->(s+t)z
// x&~y->(s+t)&z
Run Code Online (Sandbox Code Playgroud)
我想从原始字符串中删除所有空格,然后获取单个字符.结果让我很惊讶.正如预期的那样,变量exprCharsNoWhitespace不包含任何空格,但出乎意料的是,只包含几乎所有其他字符.缺少"&"的最后一次出现,列表的计数为12.而exprCharsNoWhitespace_2完全符合预期:Count为13,包含除空格之外的所有字符.
使用的框架是.NET 4.0.我也只是将它粘贴到csharppad(基于Web的IDE /编译器)并得到了相同的结果.
为什么会这样?
编辑:好吧,我没有意识到正如Ryan O'Hara指出的那样,一个固定的操作.我之前没用过它.
// So I'll continue just using something like this:
expression.Where( c => …Run Code Online (Sandbox Code Playgroud) 我无法获得可靠的调试设置。我在网络上的一些论坛上看到过类似标题的其他主题,但情况似乎不同。
设置:
现在,有一个序列,每次经过一番挣扎后,我都能够与调试器连接,但是单步执行和读取变量的工作并不那么可靠,以至于我暂时相信我所看到的。但是,即使到了调用堆栈不会充满明显的无意义条目并且只有很少的地方的地步,也是很累的。
例子:
OpenOCD 输出:
GNU ARM Eclipse 64 位开放式片上调试器 0.10.0-dev-00287-g85cec24-dirty (2016-01-10-10:31)
根据 GNU GPL v2 许可
有关错误报告,请阅读
http://openocd.org/doc/doxygen/bugs.html
信息:自动选择第一个可用的会话传输“hla_swd”。要覆盖使用“传输选择”。
信息:选定的传输接管了低级目标控制。与普通 JTAG/SWD 相比,结果可能有所不同
适配器速度:500 kHz
适配器_nsrst_delay:100
没有分开
没有分开
信息:无法匹配请求的速度 500 kHz,使用 480 … VS2017(至少在我刚安装的最新版本中),在主窗口的底部,一个明亮闪亮的蓝色状态栏,在视觉上非常突出.因为这是整个屏幕上唯一一个明亮的蓝色大事,这非常令人分心.
有没有办法改变颜色?