精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

判斷Linux庫文件編譯時是否運用-g選項的方法

如意 ? 來源:CSDN ? 作者:CaspianSea ? 2020-06-22 08:40 ? 次閱讀

先寫一個簡單的文件1.c:

判斷Linux庫文件編譯時是否運用-g選項的方法

然后編譯兩個庫,一個不加 -g, 一個加:

gcc 1.c -c

gdb -shared -fpic -o lib1.so 1.o

cp 1.c 2.c

gcc -c -g 2.c

gcc -shared -fpic -o lib2.so 2.o

下面介紹幾種判斷的方法:

1. 使用 objdump

判斷Linux庫文件編譯時是否運用-g選項的方法

可以看出,對于使用 -g的庫, objdump --debugging會有很多 debug相關的信息輸出。對于 沒有加-g的庫,則沒有這樣的輸出。

也可用 readelf -w 或者 objdump -W

2.使用 gdb.

判斷Linux庫文件編譯時是否運用-g選項的方法

注意有輸出: Reading symbols from lib2.so.。.done.

對于 lib1.so,輸出為 Reading symbols from lib1.so.。.(no debugging symbols found)。..done.

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11232

    瀏覽量

    208948
  • 虛擬機
    +關注

    關注

    1

    文章

    908

    瀏覽量

    28109
收藏 人收藏

    評論

    相關推薦

    Linux編程】如何使用gcc編譯源代碼時輸出map文件

    Linux編程】如何使用gcc編譯源代碼時輸出map文件
    的頭像 發表于 08-15 14:08 ?8090次閱讀
    【<b class='flag-5'>Linux</b>編程】如何使用gcc<b class='flag-5'>編譯</b>源代碼時輸出map<b class='flag-5'>文件</b>?

    Linux系統下查看elf文件方法

    作為一個嵌入式開發人員,交叉編譯是必須進行的步驟。那么,如何判斷編譯生成的文件(動態,靜態
    的頭像 發表于 08-25 16:17 ?2959次閱讀
    <b class='flag-5'>Linux</b>系統下查看elf<b class='flag-5'>文件</b>的<b class='flag-5'>方法</b>

    Xilinx文件編譯

    Library下拉表中選擇simprims_ver仿真,在查找范圍選項中選中“Xilnx\ise\verilog\src\simprims”目錄下的全部文件,單擊Compile按鈕進行編譯
    發表于 02-27 15:16

    請問怎么判斷Keil編譯時用到的基礎名字?

    怎么判斷Keil編譯時用到的基礎名字,在Linker選項里好像沒有體現的。include是-I中有,而的路徑怎么
    發表于 10-19 08:42

    gcc和Linux gcc 的常用選項

    gcc的使用方法gcc 【選項文件名gcc常用選項gcc-v: 查看gcc編譯器的版本,顯示gcc執行時的詳細過程-oplease the
    發表于 10-19 22:43

    常見gcc編譯警告整理以及解決方法

     GCC有很多的編譯選項,警告選項;指定頭文件路徑;優化選項。本文針整理一下GCC的警告
    發表于 11-14 11:19 ?2.1w次閱讀

    嵌入式Linux工具之GCC常用編譯選項

    “-I dir”選項可以在頭文件的搜索路徑列表中添加 dir 目錄。由于 Linux 中頭文件都默認放到了“/usr/include/”目錄下,因此,當用戶希望添加放置在其他位置的頭
    的頭像 發表于 03-22 11:16 ?7694次閱讀
    嵌入式<b class='flag-5'>Linux</b>工具之GCC常用<b class='flag-5'>編譯</b><b class='flag-5'>選項</b>

    Linux程序的編寫、編譯、調試方法及make

    只要知道其中的幾個就夠了. -o選項我們已經知道 了,表示我們要求輸出的可執行文件名. -c選項表示我們只要求編譯器輸出目標代碼,而 不必要輸出可執行
    的頭像 發表于 07-16 17:02 ?5692次閱讀
    <b class='flag-5'>Linux</b>程序的編寫、<b class='flag-5'>編譯</b>、調試<b class='flag-5'>方法</b>及make

    Linux中如何判斷文件是否存在并新建文件

    本文檔的主要內容詳細介紹的是Linux中如何判斷文件是否存在并新建文件夾vi文件免費下載。
    發表于 01-17 08:00 ?8次下載
    <b class='flag-5'>Linux</b>中如何<b class='flag-5'>判斷</b><b class='flag-5'>文件</b>夾<b class='flag-5'>是否</b>存在并新建<b class='flag-5'>文件</b>夾

    gcc的使用方法以及Linux gcc 的常用選項

    gcc的使用方法 gcc 【選項文件名 gcc常用選項 gcc -v: 查看gcc編譯器的版本,顯示gcc執行時的詳細過程 -ofile
    的頭像 發表于 10-22 14:42 ?3072次閱讀

    Linux編程】如何使用gcc生成預編譯文件

    Linux編程】如何使用gcc生成預編譯文件
    的頭像 發表于 08-31 13:07 ?1928次閱讀
    【<b class='flag-5'>Linux</b>編程】如何使用gcc生成預<b class='flag-5'>編譯文件</b>?

    Linux中的靜態和共享

    是一個二進制文件,包含的代碼可被程序調用。例如標準C、數學、線程等等。有源碼,可下載后
    的頭像 發表于 05-10 09:34 ?1006次閱讀

    Linux交叉編譯選項與源碼與目標文件分離

    交叉編譯選項 編譯Linux,通常只需要運行 make menuconfig 配置要編譯的模塊,然后運行 make 。
    的頭像 發表于 09-27 11:48 ?796次閱讀

    Linux內核編譯腳本

    獲得編譯命令及選項 編譯linux時,默認不會顯示編譯的命令,如果你要獲得編譯命令及其
    的頭像 發表于 09-27 11:52 ?614次閱讀

    linux驅動程序的編譯方法有哪兩種

    Collection)或其他C/C++編譯器來編譯源代碼文件。這種方法較為原始,需要開發者手動指定編譯
    的頭像 發表于 08-30 14:39 ?526次閱讀