導航:首頁 > 操作系統 > Linux比較二進制文件

Linux比較二進制文件

發布時間:2022-06-29 13:55:01

linux下如何查看一個二進制文件是使用-O0優化還是-O2優化

gcc默認提供了5級優化選項:
-O/-O0:無優化(默認)
-O1:使用能減少目標文件大小以及執行時間並且不會使編譯時間明顯增加的優化。該模式在編譯大型程序的時候會花費更多的時間和內存。在-O1下:編譯會嘗試減少代碼體積和代碼運行時間,但是並不執行會花費大量時間的優化操作。
-O2: 包含-O1的優化並增加了不需要在目標文件大小和執行速度上進行折衷的優化。GCC執行幾乎所有支持的操作但不包括空間和速度之間權衡的優化,編譯器不執行循環展開以及函數內聯。這是推薦的優化等級,除非你有特殊的需求。-O2會比-O1啟用多一些標記。與-O1比較該優化-O2將會花費更多的編譯時間當然也會生成性能更好的代碼。
-Os:專門優化目標文件大小,執行所有的不增加目標文件大小的-O2優化選項。同時-Os還會執行更加優化程序空間的選項。這對於磁碟空間極其緊張或者CPU緩存較小的機器非常有用。但也可能產生些許問題,因此軟體樹中的大部分ebuild都過濾掉這個等級的優化。使用-Os是不推薦的。
-O3: 打開所有-O2的優化選項並且增加 -finline-functions, -funswitch-loops,-fpredictive-commoning, -fgcse-after-reload and -ftree-vectorize優化選項。這是最高最危險的優化等級。用這個選項會延長編譯代碼的時間,並且在使用gcc4.x的系統里不應全局啟用。自從3.x版本以來gcc的行為已經有了極大地改變。在3.x,-O3生成的代碼也只是比-O2快一點點而已,而gcc4.x中還未必更快。用-O3來編譯所有的軟體包將產生更大體積更耗內存的二進制文件,大大增加編譯失敗的機會或不可預知的程序行為(包括錯誤)。這樣做將得不償失,記住過猶不及。在gcc 4.x.中使用-O3是不推薦的。
————————————————
版權聲明:本文為CSDN博主「rongming_lu」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/LU_ZHAO/java/article/details/104516291

Ⅱ linux 如何知道一個文件是二進制文件

linux的文本文件與二進制文件的區分與windows的區分是相同的!說到底計算機存儲的文件都是以二進制形式存儲的,但是區別是,習慣上認為: (1)、文本文件 文本文件是包含用戶可讀信息的文件。這些文件以ASCII碼方式存儲,可顯示和列印。文本文件的行不能包括空字元(即碼中的NULL),行的最大長度(包括換行符在內)也不能超過(LINE_MAX)所定義的位元組數。不過文本文件中並不限制使用除空字元以外的控制字元或其它不可列印字元。 (2)、二進制文件(實際上這種說法不準確,因為文本文件也是用二進制代碼存放的,稱為非文本文件比較好) 二進制文件是包含計算機可讀信息的文件。二進制文件可以是可執行的文件,使系統根據其中的指令完成某項工作。命令和程序都是以可執行的而進制文件方式存儲。二進制文件沒有行的長度限制,也可包含空字元。

Ⅲ linux 二進制文件怎麼打開

1、在Fedora桌面打開「Applications」-「System Tools」-「Terminal」打開命令終端,為vi編輯做准備。

Ⅳ 在linux c編程中,怎樣判斷該文件為二進制文件用純c來判斷!

這個沒辦法了,linux跟windows不一樣,沒有二進制和文本文件的區別,
你可以學學perl的做法,讀取一定量的字元
,看看是不是普通字元,是就是文本文件

Ⅳ Linux下有什麼好用的二進制文件編輯器

一、在Linux下查看二進制文件的軟體:
xxd (2進制)
hexmp (16進制)
二、編輯:
1、biew
2、hexedit
3、vim
Vim 來編輯二進制文件。Vim 本非為此而設計的,因而有若干局限。但你能讀
取一個文件,改動一個字元,然後把它存檔。結果是你的文件就只有那一個字元給改了,
其它的就跟原來那個一模一樣。
要保證 Vim 別把它那些聰明的竅門用錯地方,啟動 Vim 時加上 "-b" 參數:
vim -b datafile
這個參數設定了 'binary' 選項。其作用是排除所有的意外副作用。例如,'textwidth'
設為零,免得文本行給擅自排版了。並且,文件一律以 Unix 文件格式讀取。
二進制模式可以用來修改某程序的消息報文。小心別插入或刪除任何字元,那會讓程序運
行出問題。用 "R" 命令進入替換模式。
文件里的很多字元都是不可顯示的。用 Hex 格式來顯示它們的值:
:set display=uhex
另外,也可以用命令 "ga" 來顯示游標下的字元值。當游標位於一個 字元上時,
該命令的輸出看起來就像這樣:
27, Hex 1b, Octal 033
文件中也許沒那麼多換行符。你可以關閉 'wrap' 選項來獲得總覽的效果:
:set nowrap
字 節 位 置
要發現你在文件中的當前位元組位置,請用這個命令:
g CTRL-G
其輸出十分冗長:
Col 9-16 of 9-16; Line 277 of 330; Word 1806 of 2058; Byte 10580 of 12206
最後兩個數字就是文件中的當前位元組位置和文件位元組總數。這已經考慮了 'fileformat'
選項導致換行符位元組不同的影響。
要移到文件中某個指定的位元組,請用 "go" 命令。例如,要移到位元組 2345:
2345go
使 用 XXD
一個真正的二進制編輯器用兩種方式來顯示文本: 二進制和十六進制格式。你可以在 Vim
里通過轉換程序 "xxd" 來達到這效果。該程序是隨 Vim 一起發布的。
首先以二進制方式編輯這個文件:
vim -b datafile
現在用 xxd 把這個文件轉換成十六進制:
:%!xxd
文本看起來像這樣:
0000000: 1f8b 0808 39d7 173b 0203 7474 002b 4e49 ....9..;..tt.+NI
0000010: 4b2c 8660 eb9c ecac c462 eb94 345e 2e30 K,.`.....b..4^.0
0000020: 373b 2731 0b22 0ca6 c1a2 d669 1035 39d9 7;'1.".....i.59.
現在你可以隨心所欲地閱讀和編輯這些文本了。 Vim 把這些信息當作普通文本來對待。
修改了十六進制部分並不導致可顯示字元部分的改變,反之亦然。
最後,用下面的命令把它轉換回來:
:%!xxd -r
只有十六進制部分的修改才會被採用。右邊可顯示文本部分的修改忽略不計。
樓主如果對Linux感興趣,想學習更多Linux操作知識,可以網路《Linux就該這么學》,相信會有幫助的。

Ⅵ linux 怎麼看完二進制文件

查看二進制文件,用od或hexmp命令。


$od-tx1-tc-AxbinFile

abcde12345abcde1

2345abcde12345ab
00002063646531323334350a
cde12345
000029

-tx1選項表示將文件中的位元組以十六進制的形式列出來,每組一個位元組(類似hexmp的-c選項)

-tc選項表示將文件中的ASCII碼以字元形式列出來(和hexmp類似,輸出結果最左邊的一列是文件中的地址,默認以八進制顯示)

-Ax選項要求以十六進制顯示文件中的地址

Ⅶ linux 怎麼看 文件二進制

一、在Linux下查看二進制文件的軟體:

xxd (2進制)

hexmp (16進制)

二、編輯:

1、biew

2、hexedit

3、vim

Vim 來編輯二進制文件。Vim 本非為此而設計的,因而有若干局限。但你能讀
取一個文件,改動一個字元,然後把它存檔。結果是你的文件就只有那一個字元給改了,
其它的就跟原來那個一模一樣。
要保證 Vim 別把它那些聰明的竅門用錯地方,啟動 Vim 時加上 "-b" 參數:
vim -b datafile
這個參數設定了 'binary' 選項。其作用是排除所有的意外副作用。例如,'textwidth'
設為零,免得文本行給擅自排版了。並且,文件一律以 Unix 文件格式讀取。
二進制模式可以用來修改某程序的消息報文。小心別插入或刪除任何字元,那會讓程序運
行出問題。用 "R" 命令進入替換模式。
文件里的很多字元都是不可顯示的。用 Hex 格式來顯示它們的值:
:set display=uhex
另外,也可以用命令 "ga" 來顯示游標下的字元值。當游標位於一個 字元上時,
該命令的輸出看起來就像這樣:
27, Hex 1b, Octal 033
文件中也許沒那麼多換行符。你可以關閉 'wrap' 選項來獲得總覽的效果:
:set nowrap
字 節 位 置
要發現你在文件中的當前位元組位置,請用這個命令:
g CTRL-G
其輸出十分冗長:
Col 9-16 of 9-16; Line 277 of 330; Word 1806 of 2058; Byte 10580 of 12206
最後兩個數字就是文件中的當前位元組位置和文件位元組總數。這已經考慮了 'fileformat'
選項導致換行符位元組不同的影響。
要移到文件中某個指定的位元組,請用 "Go" 命令。例如,要移到位元組 2345:
2345go
使 用 XXD
一個真正的二進制編輯器用兩種方式來顯示文本: 二進制和十六進制格式。你可以在 Vim
里通過轉換程序 "xxd" 來達到這效果。該程序是隨 Vim 一起發布的。
首先以二進制方式編輯這個文件:
vim -b datafile
現在用 xxd 把這個文件轉換成十六進制:
:%!xxd
文本看起來像這樣:
0000000: 1f8b 0808 39d7 173b 0203 7474 002b 4e49 ....9..;..tt.+NI
0000010: 4b2c 8660 eb9c ecac c462 eb94 345e 2e30 K,.`.....b..4^.0
0000020: 373b 2731 0b22 0ca6 c1a2 d669 1035 39d9 7;'1.".....i.59.
現在你可以隨心所欲地閱讀和編輯這些文本了。 Vim 把這些信息當作普通文本來對待。
修改了十六進制部分並不導致可顯示字元部分的改變,反之亦然。
最後,用下面的命令把它轉換回來:
:%!xxd -r
只有十六進制部分的修改才會被採用。右邊可顯示文本部分的修改忽略不計。

Ⅷ linux 如何判斷一個文件是2進制文件

查看二進制文件,用od或hexmp命令。

1
2
3
4
5
6
7
8
$ od -tx1 -tc -Ax binFile
000000 61 62 63 64 65 31 32 33 34 35 61 62 63 64 65 31
a b c d e 1 2 3 4 5 a b c d e 1
000010 32 33 34 35 61 62 63 64 65 31 32 33 34 35 61 62
2 3 4 5 a b c d e 1 2 3 4 5 a b
000020 63 64 65 31 32 33 34 35 0a
c d e 1 2 3 4 5 \n
000029
-tx1選項表示將文件中的位元組以十六進制的形式列出來,每組一個位元組(類似hexmp的-c選項)
-tc選項表示將文件中的ASCII碼以字元形式列出來(和hexmp類似,輸出結果最左邊的一列是文件中的地址,默認以八進制顯示)
-Ax選項要求以十六進制顯示文件中的地址

Ⅸ 怎麼區分二進制文件 linux

查看文件是否是可執行的屬性,是使用ls命令,要加一個-l參數:$ls-l./*#列出當前目錄下的文件,並使用長信息格式。-rw-r--r--1cheyenneclass37Jan1211:00fichier看上面的系統顯示,第一個區域(-rw-r--r--)代表的是文件的屬性,第一個字元(這里是-)代表的是文件的類型。-代表普通文件,d代表目錄,l是符號鏈接文件(和Windows下的快捷方式差不多),n代表網路特殊文件,c代表字元設備文件,b代表塊設備文件,p代表命名管道。後面的6位是對文件的訪問控制。你所說的x屬性,是代表可以「執行」這個文件。注意這個「執行」與Windows系統的區別,它代表的僅僅是你有許可權去執行它(如果它能夠在機器上運行的話)。UNIX系統不使用擴展名來判斷文件類型,而是使用file命令。UNIX和DOS一樣,如果文件實際並無法執行,它會給出一個出錯提示,並返回Shell。比如你現在編寫了一個shell腳本(就是DOS下的.bat文件),如果你想執行這個文件,那麼你必須擁有這個文件的r和x許可權。

Ⅹ linux怎麼區別文本文件和二進制文件

(1)、文本文件
文本文件是包含用戶可讀信息的文件。這些文件以ASCII碼方式存儲,可顯示和列印。文本文件的行不能包括空字元(即碼中的NULL),行的最大長度(包括換行符在內)也不能超過(LINE_MAX)所定義的位元組數。不過文本文件中並不限制使用除空字元以外的控制字元或其它不可列印字元。
(2)、二進制文件(實際上這種說法不準確,因為文本文件也是用二進制代碼存放的,稱為非文本文件比較好)
二進制文件是包含計算機可讀信息的文件。二進制文件可以是可執行的文件,使系統根據其中的指令完成某項工作。命令和程序都是以可執行的而進制文件方式存儲。二進制文件沒有行的長度限制,也可包含空字元。

閱讀全文

與Linux比較二進制文件相關的資料

熱點內容
him觸摸編程軟體 瀏覽:929
植物大戰僵屍存檔怎麼轉移安卓 瀏覽:852
java棧的元素 瀏覽:737
程序員與籃球事件 瀏覽:675
app反編譯不完整 瀏覽:788
電腦上的文件夾怎麼調整 瀏覽:7
伺服器無響應是什麼原因呀 瀏覽:984
wd文檔里的app怎麼製作 瀏覽:513
電腦里的文件夾沒有了一般能恢復嗎 瀏覽:418
哪裡有配加密鑰匙的 瀏覽:210
伺服器開不了機怎麼把數據弄出來 瀏覽:958
gif動態圖片怎麼壓縮 瀏覽:521
黑猴子棒球壓縮文件解壓密碼 瀏覽:631
如何讓app適應不同的手機屏幕大小 瀏覽:10
蘋果手機如何給安卓手機分享軟體 瀏覽:761
蘋果電腦怎麼運行騰訊雲伺服器 瀏覽:59
明日之後沙石堡命令助手 瀏覽:261
蛋糕店用什麼樣的app 瀏覽:877
長安銀行信用卡app怎麼取現 瀏覽:635
dos命令cmd命令的 瀏覽:226