【问题标题】:How to fetch object file names from a .map file如何从 .map 文件中获取目标文件名
【发布时间】:2016-08-12 10:20:16
【问题描述】:

我需要从 .map 文件中收集所有目标文件的名称,列出它们,然后计算它们在不同内存区域中占用的空间。地图文件很大(

           grep -r '.o' *.map

但它给了我很多结果,其中包含“o”。 这是地图文件中的一个示例,

AProject/I3/S-SDK/MPU_Asymmetri_ported_Lib_changes_trunk_code/AON/output/contiki-dhanushss.a(start.o)
                              (start)
AProject/I3/S-SDK/MPU_Asymmetri_ported_Lib_changes_trunk_code/AON/output/contiki-main.lib(contiki-main.o)
                              AProject/I3/S-SDK/MPU_Asymmetri_ported_Lib_changes_trunk_code/AON/output/contiki-dhanushss.a(start.o) (main)
AProject/I3/S-SDK/MPU_Asymmetri_ported_Lib_changes_trunk_code/AON/output/contiki-dhanushss.a(ss_dhanush_init)
                              AProject/I3/S-SDK/MPU_Asymmetri_ported_Lib_changes_trunk_code/AON/output/contiki-main.lib(contiki-main.o) (ss_dhanush_services_init)
AProject/I3/S-SDK/MPU_Asymmetri_ported_Lib_changes_trunk_code/AON/output/contiki-dhanushss.a(mio_dma_drv.o)
                              AProject/I3/S-SDK/MPU_Asymmetri_ported_Lib_changes_trunk_code/AON/output/contiki-dhanushss.a(ss_dhanush_init) (MIO_Dma_Init)
AProject/I3/S-SDK/MPU_Asymmetri_ported_Lib_changes_trunk_code/AON/output/contiki-dhanushss.a(dma_drv.o)
                              AProject/I3/S-SDK/MPU_Asymmetri_ported_Lib_changes_trunk_code/AON/output/contiki-dhanushss.a(ss_dhanush_init) (Dma_Init)
AProject/I3/S-SDK/MPU_Asymmetri_ported_Lib_changes_trunk_code/AON/output/contiki-dhanushss.a(memory_map.o)
                              AProject/I3/S-SDK/MPU_Asymmetri_ported_Lib_changes_trunk_code/AON/output/contiki-dhanushss.a(mio_dma_drv.o) (Virtual_To_Physical)
AProject/I3/S-SDK/MPU_Asymmetri_ported_Lib_changes_trunk_code/AON/output/contiki-dhanushss.a(socVer.o)
                              AProject/I3/S-SDK/MPU_Asymmetri_ported_Lib_changes_trunk_code/AON/output/contiki-dhanushss.a(ss_dhanush_init) (System_SOC_VersionInit)
AProject/I3/S-SDK/MPU_Asymmetri_ported_Lib_changes_trunk_code/AON/output/contiki-dhanushss.a(c_fuction.o)
                              AProject/I3/S-SDK/MPU_Asymmetri_ported_Lib_changes_trunk_code/AON/output/contiki-dhanushss.a(ss_dhanush_init) (memset)
AProject/I3/S-SDK/MPU_Asymmetri_ported_Lib_changes_trunk_code/AON/output/contiki-dhanushss.a(Rip_api.o)
                              AProject/I3/S-SDK/MPU_Asymmetri_ported_Lib_changes_trunk_code/AON/output/contiki-dhanushss.a(ss_dhanush_init) (ripStartService)
AProject/I3/S-SDK/MPU_Asymmetri_ported_Lib_changes_trunk_code/AON/output/contiki-dhanushss.a(irq_handler.o)
                              AProject/I3/S-SDK/MPU_Asymmetri_ported_Lib_changes_trunk_code/AON/output/contiki-dhanushss.a(mio_dma_drv.o) (register_isr)

我只需要这个映射文件中的目标文件列表。

【问题讨论】:

    标签: scripting grep pattern-matching


    【解决方案1】:

    我不知道list of object files 是什么意思,但试试这条线:

     grep -r -Po '[^(]*[.]o(?=[)])' *.map
    

    结果是:

    start.o
    contiki-main.o
    start.o
    contiki-main.o
    mio_dma_drv.o
    dma_drv.o
    memory_map.o
    mio_dma_drv.o
    socVer.o
    c_fuction.o
    Rip_api.o
    irq_handler.o
    mio_dma_drv.o
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-04
      相关资源
      最近更新 更多