我有简单的C++程序:
#include <iostream>
int main()
{
std::cout << "Hello\n";
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我想你不能变得更简单.我正在玩"scratchbox" - 我用来编译ARM平台应用程序的交叉编译平台.我在诺基亚N900手机上运行它.
在研究一些性能问题时,我注意到在开始时有几次调用strcmp().我使用"ltrace"来跟踪库调用,当我在目标(我的手机)上运行它时,看到一系列调用strcmp()现在让我很好奇 - 这些调用的目的是什么?
20:06 user@MaemoBox:~$ ltrace test
__libc_start_main(61732, 1, 0xbed66634, 345616, 345612 <unfinished ...>
__errno_location() = 0x4001d3b0
strrchr("test", '/') = NULL
getuid() = 29999
bsearch("test", 0x00055966, 146, 1, 0x0000ed38 <unfinished ...>
strcmp("test", "mv") = 7
strcmp("test", "sort") = 1
strcmp("test", "tr") = -13
strcmp("test", "sysctl") = 1
strcmp("test", "test") = 0
<... bsearch resumed> ) = 0x000559e2
Run Code Online (Sandbox Code Playgroud)
谢谢.