例如:
lib_a
是一个内部库。它公开接口标头alpha.h
。
lib_b
是一个 API 库。它包括alpha.h
在beta.c
并暴露接口头beta.h
不包括alpha.h
。
exe_c
是一个测试应用程序,利用lib_b
. 由于它是 API 库的“外部” lib_b
,它不应该访问内部库lib_a
的头文件,即alpha.h
.
现在,有没有办法防止将 的包含路径alpha.h
添加到exe_c
的编译命令行?
我知道之前有人问过,但我担心"systrace使用扩展ftrace的atrace,所以在这里检查ftrace格式"对我来说还不够.我正在了解一些systrace特定标签/格式的更多细节.我有一些我没有信心的猜测,因此我需要一个真正知道他们确认/否定的人.
以下是我在trace.html中找到的一些结果.
# tracer: nop\n\
#\n\
# entries-in-buffer/entries-written: 393636/393636 #P:1\n\
#\n\
# _-----=> irqs-off\n\
# / _----=> need-resched\n\
# | / _---=> hardirq/softirq\n\
# || / _--=> preempt-depth\n\
# ||| / delay\n\
# TASK-PID CPU# |||| TIMESTAMP FUNCTION\n\
# | | | |||| | |\n\
atrace-27768 [000] ...2 17184.509740: sched_switch: prev_comm=atrace prev_pid=27768 prev_prio=120 prev_state=S ==> next_comm=swapper/0 next_pid=0 next_prio=120\n\
Thread-117-16753 [001] ...1 17184.510251: tracing_mark_write: B|4237|eglSwapBuffers\n\
<idle>-0 [000] d.h4 17184.510329: sched_wakeup: comm=AudioOut_2 pid=608 prio=101 success=1 target_cpu=000\n\
<idle>-0 [000] ...2 17184.510338: sched_switch: prev_comm=swapper/0 …
Run Code Online (Sandbox Code Playgroud)