我在我的系统中尝试了代码.这就是我得到的...... 1)
#include <stdio.h>
int main()
{
//int a = 10;
printf("%s");
return 0;
}
Output:
1í^áäðPTRhh
Run Code Online (Sandbox Code Playgroud)
2)
#include <stdio.h>
int main()
{
int a = 10;
printf("%s\n");
return 0;
}
Output:
__libc_start_main
Run Code Online (Sandbox Code Playgroud)
我在另一个系统(diff编译器)中尝试过.而且产出不同.实际上它必须打印堆栈中最顶层的值.那y到处都不是唯一的?
我们的 Android 服务使用 HIDL 服务与我们的驱动程序/硬件交互,但在长时间运行期间,我们看到很多这样的打印“binder 线程池(1 个线程)饥饿 xxx 毫秒”,时间为 120ms < xxx > 310ms。一段时间后,我们看到从 HIDL 服务复制的内存是错误地址,当我们访问它时会给出 SIGSEGV。线程池饥饿和内存损坏是否相关?有人见过类似的问题吗?这是 Android O 预览版。
multithreading android android-source android-os-handler android-8.0-oreo