例如:
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)