随笔分类 -  学习笔记

摘要:Android应用调试时没有stdout和stderr的输出,网上看到的解释都是下面这个样子:#################################################Android系统在默认情况下,将stdout和stderr(Java中的System.out 和 System.err)重定向到/dev/null。如果一个进程运行了 Dalvik VM,那么就可以把上面两个输出拷贝到日志文件中去,这种情况下,系统会把stdout和stderr输出到标签为“stdout”和“stderr”的日志中。具体做法如下:$ adb shell stop$ adb shell s 阅读全文
posted @ 2014-03-11 14:33 風之痕 阅读(4845) 评论(1) 推荐(1)
摘要:linux下面每个进程会维护一个printf/scanf的缓冲区。 以printf为例,调用printf的时候,当缓冲区满,或者带有'\n'时,才会输出(当然程序退出是即使没有这两个条件也输出)。 除此之外,当遇到scanf调用时,也会先刷新缓冲区,printf调用中的内容就会被输出。 最后,可以调用fflush函数强制刷新缓冲区来输出缓冲区中的内容。 在多线程程序中尤其值得注意,fork时,缓冲区也被fork,要是之前缓冲区没有被刷新过的话,缓冲区中的内容依然存在,在子进程中再次调用printf就会出现自己不想要的输出。 阅读全文
posted @ 2012-11-27 16:48 風之痕 阅读(1163) 评论(0) 推荐(0)