⑴ 這些是什麼文件
說起來Windows工作界面下的文件名簡直是隨心所欲,比如:某編輯部的2000年工作計劃。文件名即可用中文直接表達,而且長度最長可達256個字元,讓人看起來真是一目瞭然。然而在Windows環境中,安裝的軟體中卻大量存在著類似CALENDAR.EXE、GAMES.GRP等等的文件名,這又是為什麼呢?原來這些文件名都是根據DOS環境的文件名命名規則而定的。
DOS環境下的文件名
在DOS下,文件名採用8+3結構,即:最長8位的文件名,由小數點分隔後再跟上最長3位的後綴名,如:READ.ME、SETUP.EXE,一般情況下文件名不允許使用漢字,只能由字母、數字和一些符號組成。如READ.ME用中文理解就是"讀我",即提示用戶在使用軟體前先看看這個文件的內容,以獲取更多的提示信息。而更重要的是,DOS下規定用後綴名來區分各種不同的文件。
在DOS下最容易遇到的首先是可執行文件,後綴名有兩類:*.exe、*.com(此處的*表示文件名任意),它們是由匯編語言或其它高級語言編出的程序經過編譯後直接在DOS下運行的文件。有時由於軟體功能多、內存偏小,不能一次性全部調入內存還可能有同文件名的ovl文件,如ws.exe、ws.ovl。另外還有一種文件可以直接運行,*.bat,即批處理文件,其中有許多命令或可執行文件名,主要用於提高工作效率,其中最有用的是Autoexec.bat,這個文件在開機時會被自動執行(自動執行在英文中就是Automatically execute)。而另外一種可以載入但不能直接運行的文件即是系統擴展管理文件*.sys(sys即系統system),它主要提供某些非標准設備如滑鼠、擴充內存等的驅動程序,如mouse.sys、himem.sys。為了統一管理還專門規定了一個config.sys的文本文件來一次性地在開機時自動調入這些必需的設備驅動程序,這些文件一旦被誤刪或換名或被病毒侵襲則將直接導致系統工作不正常。
DOS下字處理產生的文件原本是可以不用後綴的,但人們常用*.txt表示(txt即文本text)。被所有的平台和所有應用程序支持。而為了管理方便,人們也可以用自己的名字做後綴來表示是自己建的文本文件,如我輸入的很多文章即為*.mcj,為了便於用戶在意外刪掉原文件的情況下能盡快恢復原文件,許多字處理系統都提供了一種自動備份的功能,如我第二次編輯JIHUA.MCJ時(JIHUA:計劃的漢語拼音),系統會先拷貝一份原文件為JIHUA.BAK。使用具有特殊格式功能的字處理軟體,如求伯君先生早年推出的WPS,就會規定其後綴為.wps,用以標識是用WPS生成的文本文件。當使用字處理軟體編輯高級語言程序時,後綴通常為相應語言的前三個字母(如:*.BAS即BASIc語言源程序,*.PAS為PASCAL語言程序,*.FOR為Fortran語言程序,*.C即為C語言,*.ASM即為匯編語言程序)。
伴隨著可執行文件常附有以下幾類文件:*.HLP即幫助文件(help)、*.CFG即配置文件(config)、*.DAT即數據文件(data)、*.LOG即日誌文件(log)、*.TMP為臨時文件(temporal)。
Windows環境下的文件名
絕大多數DOS文件名後綴在Windows下繼續有效,但Windows本身也引出了許多種嶄新的後綴名,如:*.drv為設備驅動程序(Driver)、*.fon和*.fot都是字型檔文件、*.grp為分組文件(Group)、*.ini為初始化信息文件 (Initiation)、*.pif為DOS環境下的可執行文件在Windows下執行時所需要的文件格式、*.crd即卡片文件(Card)、*.rec即記錄器宏文件(Record)、*.wri即文本文件(Write),它是字處理write.exe生成的文件、*.doc和*.rtf也是文本文件(Document),它們是Word產生的文件、*.cal為日歷文件、*.clp是剪貼板中的文件格式、*.htm和 *.html即主頁文件、*.par為交換文件、*.pwl為口令文件(Password)等等。
圖像文件名後綴
進入多媒體世界後,大家會看到各種各樣精彩的圖片,會發現許多種後綴名。的確,由於各個公司在開發圖形有關的軟體時都自製標准,導致今日在圖形方面有太多的格式,以下就是常見的幾種格式:
首先是一種點陣圖文件格式,它是一組點(像素)組成的圖像,它們由圖像程序生成或在掃描圖像時創建。主要有Windows點陣圖(.BMP):由Microsoft公司開發,它被Windows和Windows NT平台及許多應用程序支持。支持32位顏色,用於為Windows界面創建圖標的資源文件格式,游標(.CUR、.DLL、.EXE):資源文件格式,用於創建Windows界面的游標。OS/2點陣圖(.BMP):Microsoft公司和IBM開發的點陣圖文件格式。它為各種操作系統和應用程序所支持。支持壓縮,最大的圖像像素為64000×64000。畫筆(.PCX):由Zsoft公司推出,它對圖像數據也進行了壓縮,可由PCX生成。用於Windows的畫筆。支持24位顏色,最大圖像像素是64000×64000。支持壓縮。圖形交換格式:
Graphics Interchage format(.GIF):由Compu Serve創建,它能以任意大小支持圖畫,通過壓縮可節省存儲空間,還能將多幅圖畫存在一個文件中。支持256色,最大圖像像素是64000×64000。
Kodak Photo CD(.PCD):Eastman Kodak所開發的點陣圖文件格式,被所有的平台所支持,PCD支持24位顏色,最大的圖像像素是2048×3072,用於在CD-ROM上保存照片。
Adobe Photoshop(.PSD):Adobe Photoshop的點陣圖文件格式,被Macintosh和MS Windows平台所支持,最大的圖像像素是30000×30000,支持壓縮,廣泛用於商業藝術。
Macintosh繪畫(.MAC):Apple公司所開發的點陣圖文件格式。被Macintosh平台所支持,僅支持單色原圖,最大圖像像素是576×720。支持壓縮,主要用於在Macintosh圖形應用程序中保存黑白圖形和剪貼畫片。
動畫文件的後綴名
動畫文件格式用於保存包含動畫框架中的圖形信息。主要有:Autodesk FLIC(.FLC):即.FLI,Autodesk Animator和AnimatorPro的動畫文件格式。支持256色,最大的圖像像素是64000×64000,支持壓縮。廣泛用於動畫圖形中的動畫序列、計算機輔助設計和計算機游戲應用程序。不大適合製作真實世界圖像動畫。
MacPICTS(.PCS,.PIC):Macromedia開發的動畫文件格式,為Macintosh應用程序使用。支持256色,支持壓縮,用於保存動畫數據,是Quick Time的前身。
Microsoft資源互換文件格式,TIFF(.AVD):Microsoft公司開發的動畫文件格式,被Windows、Windows
NT平台和OS/2多媒體應用程序所支持,支持256色和壓縮,用於在多媒體應用程序中保存音頻、視頻和圖形信息。
MPEG(.MPEG):國際標准化組織的運動圖像專家小組開發的動畫文件格式。被所有平台和Xing Technologies
MPEG播放器及其它應用程序所支持,支持壓縮,最大圖像像素是4095×4094×30幀/每秒。用於編碼音頻、視頻、文本和圖形數據。
Quick Time(.QTM):Apple計算機公司開發的動畫文件格式。被Apple Macintosh和Microsoft
Windows平台所支持,支持25位顏色,最大圖像像素是64000×64000,支持壓縮,用於保存音頻和運動視頻信息。
聲音文件的後綴名
聲音文件格式是用於保存數字音頻信息的。它們主要有:
AIFF(.AIF):這是Apple計算機公司開發的聲音文件格式,被Macintosh平台和應用程序所支持。支持壓縮。
Amiga聲音(.SVX):Commodore所開發的聲音文件格式,被Amiga平台和應用程序所支持,不支持壓縮。
MAC聲音(.SND):Apple計算機公司開發的聲音文件格式,被Macintosh平台和多種Macintosh應用程序所支持,支持某些壓縮。
MIDI(.MID):國際MIDI協會開發的聲音文件格式,被Windows平台和許多應用程序所支持,用於為樂器創建數字聲音。
聲霸(.VOC):Creative Labs公司開發的聲音文件格式,被Windows和DOS平台所支持,支持壓縮。
WAVE(.WAV):微軟公司用作Windows平台上保存音頻信息的資源格式。
壓縮文件的後綴名
為了提高存儲效率,許多公司都推出了壓縮數據的方法和相應的軟體,這類文件的使用主要通過壓包和解包軟體來進行,主要的後綴有:*.zip、*.arj、*.rar、*.lzh、*.jar。還有一些專用的壓縮文件,如:*.ex_、*.dl_、*.d3_、*.cab等。
資料庫類文件的後綴名
在Dbase、FoxBase、Foxpro系列軟體的環境下有以下幾類後綴:
.dbf 資料庫文件(databasefile) .prg 命令文件(即程序Program)
.fxp 編譯後的程序 .scx和.sct 屏幕文件
.fpt 備注欄位文件 .frx和.frt 報表文件
.cbx和.pjt 標簽文件 .mnx 和.mnt 菜單文件
.pjx和.pjt 工程文件 .app 應用文件
.cdx和.idx 索引文件 .qpr和.qpx sql查詢文件
.fp 配置文件 .ap 生成應用
.err 編譯錯誤文件 .men 內存應用
.fky 鍵宏文件 .win 窗口文件
.pcb 庫文件 .tmp 臨時文件
.tbk 臨時資料庫文件
可安全刪除的文件類型
臨時文件:*.tmp,*.syd,*.$$$,*.@@@,*._mp,*.gid,*.~*,*.gts
備份文件:*.bak,*.old,*.wbk,*.xlk,*.ckr_
幫助文件:*.hlp、*.chm、*.cnt
後記
用戶要注意在不同的操作系統下,後綴名的約定會有所不同,如在Unix下,*.p代表Pascal語言程序,*.z代表壓縮文件,*.tar代表歸檔文件。另外,針對極特殊的設備,其驅動程序也會有特殊的後綴,如3DS顯示卡的驅動程序是*.exp。還有某些公司針對自己的產品也規定了文件名後綴,如方正公司的圖像排版文件規定用*.grh(即Graph)。
文件名的後綴代表著某一種類型的文件,一般會由某一種特定的軟體產生和處理。只有對這些後綴名的知識有一定的了解,才能在上機的過程中知道其所以然。這兒帶著大家看到了常見的一些後綴類型,實際上還有很多類型,不可能全部講完。常言說,師傅領進門,修行在個人,以後大家在計算機世界中自己轉著看吧。
常見的文件後綴名
.ACA
Microsoft的代理使用的角色文檔
.acf
系統管理配置
.acm
音頻壓縮管理驅動程序,為Windows系統提供各種聲音格式的編碼和解碼功能
.aif
聲音文件,支持壓縮,可以使用Windows Media Player和QuickTime Player播放
.AIF
音頻文件,使用Windows Media Player播放
.AIFC
音頻文件,使用Windows Media Player播放
.AIFF
音頻文件,使用Windows Media Player播放
.ani
動畫游標文件擴展名,例如動畫沙漏。
.ans
ASCII字元圖形動畫文件
.arc
一種較早的壓縮文件,可以使用WinZip,WinRAR,PKARC等軟體打開
.arj
壓縮文件。可以使用WinZip,WinRAR,PKARC等軟體打開
.asf
微軟的媒體播放器支持的視頻流,可以使用Windows Media Player播放
.asp
微軟的視頻流文件,可以使用Windows Media Player打開
.asp
微軟提出的Active Server Page,是伺服器端腳本,常用於大型網站開發,支持資料庫連接,類似PHP。可以使用Visual InterDev編寫,是目前的大熱門
.asx
Windows Media 媒體文件的快捷方式
.au
是Internet中常用的聲音文件格式,多由Sun工作站創建,可使用軟體Waveform Hold and Modify 播放。Netscape Navigator中的LiveAudio也可以播放.au文件
.avi
一種使用Microsoft RIFF規范的Windows多媒體文件格式,用於存儲聲音和移動的圖片
.bak
備份文件,一般是被自動或是通過命令創建的輔助文件,它包含某個文件的最近一個版本,並且具有於該文件相同的文件名
.bas
Basic 語言源程序文件,可編譯成可執行文件,目前使用Basic開發系統的是Visual Basic
.bat
批處理文件,在MS-DOS中,.bat文件是可執行文件,有一系列命令構成,其中可以包含對其他程序的調用
.bbs
電子告示板系統文章信息文件
.bfc
Windows的公文包文件
.bin
二進制文件,其用途依系統或應用而定
.bmp
Bitmap點陣圖文件,這是微軟公司開發Paint的自身格式,可以被多種Windows和Windows NT平台及許多應用程序支持,支持32位顏色,用於為Windows界面創建圖標的資源文件格式。
.c
C 語言源程序文件,在C語言編譯程序下編譯使用
.cab
Microsoft制訂的壓縮包格式,常用於軟體的安裝程序,使用Windows自帶的實用程序,Extract.exe可以對其解壓縮,WinZip,WinRAR等都支持這種格式
.cal
Windows 中的日歷文件
.cdf
Internet Explorer的頻道文件
.cdr
CorelDraw中的一種圖形文件格式,它是所有CorelDraw應用程序中均能夠使用的一種圖形圖像文件格式
.cdx
索引文件,存在於Dbase,Foxbase,Foxpro系統軟體環境下
.cfg
配置文件,系統或應用軟體用於進行配置自己功能,特性的文件
.chm
編譯過後的HTML文件,常用於製作幫助文件和電子文檔
.clp
在Windows下剪貼板中的文件格式
.cmd
用於Windows NT/2000的批處理文件,其實與BAT文件功能相同,只是為了與DOS/Windows 9x下的BAT有所區別
.cmf
音效卡標準的音樂文件,FM合成器等可以回放
.cnf
NetMeetting會議連接文件
.cnt
聯機幫助文件目錄索引文件,通常和同名的.hlp文件一起保存
.col
由Autodesk Animator,Autodesk Animator Por等程序創建的一種調色板文件格式,其中存儲的是調色板中各種項目的RGB值
.com
DOS可執行命令文件,一般小於64KB
.cpl
控制面板擴展文件,Windows操作系統使用
.cpp
C++語言源程序,非常強大的語言,在各種平台中都有相應的開發系統
.crd
Windows中的卡片文件
.crt
用於安全方面的證書認證文件
.cur
Windows下的游標資源文件格式,可用游標編輯軟體編輯
.css
Text/css文件
.dat
數據文件,在應用程序中使用
.dat
VCD中的圖象聲音文件,VCD播放軟體可調用,或是通過VCD機播放
.dbf
資料庫文件,Foxbase,Dbase,Visual FoxPro,等資料庫處理系統所產生的資料庫文件
.dcx
傳真瀏覽文檔文件
.ddi
映象文件,DUP,HD,IMG等工具可展開
.dev
設備驅動程序
.dib
設備無關點陣圖文件,這是一種文件格式,其目的是為了保證用某個應用程序創建的點陣圖圖形可以被其它應用程序裝載或顯示一樣
.dir
目錄文件
.dll
Windows動態連接庫,幾乎無處不在,但有時由於不同版本DLL沖突會造成敗各種各樣的問踢
.doc
是目前市場佔有率最高的辦公室軟體Microsoft Office中的字處理軟體Word創建的文檔
.dos
Windows保留的MS-DOS的某些系統文件
.dot
Microsoft Word的文檔模板文件,通過模板可以簡化一些常用格式文檔的創建工作,而且可以內嵌VBA程序來實現某些自動化功能
.drv
設備驅動程序文件,用在各種系統中
.dwg
AutoCAD的圖紙文件,也是許多繪圖軟體都支持的格式,常用於共享數據
.dxb
AutoCAD創建的一中圖形文件格式
.dxf
圖形交換格式,一種計算機輔助設計的文件格式,最初開發用來與AutoCAD一起使用,以便於圖形文件在應用程序之間的傳遞,它以ASCII方式儲存圖形,在表現圖形的大小方面十分精確
.der
Certiticate文件
.dic
Txt文件
.emf
由Microsoft公司開發的Windows 32位擴展圖元文件格式,其總體設計目標是要彌補在Microsoft Windows 3.1(Win16)中用的*.wmf文件格式的不足,使得圖元文件更加易於使用
.eps
用PostScript語言描述的一種圖形文件格式,以文本文件保存,在PostScript圖形列印機上能列印出高品質的圖形圖象,最高能表示32點陣圖形圖象
.err
編譯錯誤文件,存在於Dbase,Foxbase,Foxpro系列軟體環境下
.exe
可執行文件,雖然後綴名相同,但具有不同的格式和版本
exp
3DS使用的顯示卡驅動程序
.exc
Txt文件
.flc
Autodesk Animator和Animatorpro的動畫文件,支持256色,最大的圖象象索是64000*64000,支持壓縮,廣泛用於動畫圖形中的動畫序列,計算機輔助設計和計算機游戲應用程序
.fnd
保存的搜索結果
.fon
點陣字型檔文件
.for
Fortran語言程序
.fot
指向字體的快捷鍵
.fp
配置文件,存在於Dbase,Foxbase,Foxpro系列軟體的環境下
.fpt
備注欄位文件,存在於Dbase,Foxbase,Foxpro系列軟體的環境下
.frt
報表文件,存在於Dbase,Foxbase,Foxpro系列軟體的環境下
.frx
報表文件,存在於Dbase,Foxbase,Foxpro系列軟體的環境下
.fxp
編譯後的程序,存在於Dbase,Foxbase,Foxpro系列軟體的環境下
.gif
在各種平台的各種圖形處理軟體上均能夠處理的,經過壓縮的一種圖形文件格式
.grh
方正公司的圖象排版文件
.grp
Windows下的程序管理器產生的組窗口文件
.goc
Gocserve
.gra
MSGraph.Chart.5
.h
C語言源程序頭文件
.hlp
Windows應用程序幫助文件
.hqx
Macintosh中使用BinHex將二進制文件編碼為7位的文本文件,大多數Macintosh文件皆以.hqx出現(.bin極少使用),在Macintosh中,可使用StuffIt Expander對.hqx解碼,在Windows中可使用BinHex 13解碼
.ht
超級終端
.htm
保存超文本描述語言的文本文件,用於描述各種各樣的網頁,使用各種瀏覽器打開
.html
同.htm文件
.icm
圖象配色描述文件
.ico
Windows中的圖標文件,可以包含同一個圖標的多種格式,使用圖標編輯軟體創建
.idf
MIDI樂器定義
.idx
索引文件,存在於Dbase,Foxbase,Foxpro系列軟體的環境下
.iff
文件交換格式文件,這種文件格式多用於Amiga平台,在這種平台上它幾乎可以存儲各種類型的數據,在其它平台上,IFF文件格式多用於存儲圖象和聲音文件
.image
MAcintosh磁碟映象文件,常見於萍果機的FTP網點,在Macintosh中由Shrink Wrap處理
.ime
Windows下的輸入法文件
.img
磁碟映象文件,用HD-COPY,WinImage等工具打開後可以恢復到一張磁碟上
.inc
匯編語言包含文件,類似C/C++中的.H文件
.inf
Windows下的軟體安裝信息,Windows的標准安裝程序根據此文件內的安裝信息對軟體,驅動程序等進行安裝
.ini
Windows中的初始化信息文件,已經用的不多了,新的應用程序將設置保存在系統的注冊表中
.jar
一種壓縮文件,ARJ的新版本,不過不太流行,可以使用WinJar,Winrar等打開
.jpeg
一種圖片壓縮文件,同.jpg
.jpg
靜態圖象專家組制訂的靜態圖象壓縮標准,具有很高的壓縮比,使用非常廣泛,可使用PhotoShop等圖象處理軟體創建
.lnk
快捷方式,這個文件指向另一個文件,開始菜單的程序文件夾下每條項目都是一個LNK文件
.log
日誌文件,通常用來記錄一些事件之類
.lzh
一種古老的壓縮文件,可以使用WinRAR打開
.mac
Macintosh中使用的一中灰度圖形文件格式,在Macintosh Paintbrush中使用,其解析度只能是720*567
.mag
圖形文件格式
.mdb
Microsoft Access使用的資料庫格式,是非常流行的桌面資料庫
.men
內存應用文件,存在於Dbase,Foxbase,Foxpro系列軟體的環境下
.mid
音頻壓縮文件,曾經非常流行,不過在現在的軟體中用的很少了
.mif
MIDI樂器
.mov
使用Apple's QuickTime格式的電影文件,在Macintosh中由Sparkle,FastPlayer,MoviePlayer等軟體播放,在Windows中可由Quicktime播放
.movie
QuickTime或蘋果機的影視格式,在Macintosh中由Sparkle,FastPlayer,MoviePlayer等軟體播放,在Windows中可由QuickTime播放
.mp3
採用MPEG-1 Layout 3標准壓縮的音頻文件,是網上主要的壓縮音頻文件,這種文件由於具有極高的壓縮率和失真低的特點,是目前音樂盜版的主要文件格式,但目前受到VQF,WMA等新標準的挑戰
.mpg
採用MPEG-1標准壓縮的視頻文件,與VCD使用的格式非常相近,提供CD質量的音頻信號和320*240的視頻分辯率,目前的媒體播放軟體大都能播放,Microsoft的WMV8和MPEG-4壓縮的AVI文件是其強大的競爭對手
.mpt
Macintosh中使用的一種圖形文件格式
.msg
Microsoft郵件文檔
.obj
對象代碼
.ovl
由於軟體功能多,內存偏小,不能一次性全部調入內存的可執行文件可能有同文件名的ovl文件
.pcd
點陣圖文件,由Eastman Kodak開發,被所有的平台所支持,PCD支持24位顏色,最大的圖象像索是2048*3072,用於在CD-ROM上保存圖片
.pcs
動畫文件,是Macromedia開發的動畫文件格式,為Macintosh應用程序使用,支持壓縮,支持256色,用於保存動畫數據,是Quick Time的前身
.pcx
圖像文件,PCX格式是ZSOFT公司在開發圖像處理軟體Paintbrush是開發的一種格式,這是一種經過壓縮的格式,佔用磁碟空間較少
.pdf
圖文多媒體文件,Adobe公司定義的電子印刷品文件格式,它是一種事實上的標准,在Internet網上的很多電子印刷品,都是.pdf格式的
.psd
是PhotoShop中使用的一種標准圖形文件格式,能夠保存圖像數據的每一個細小部分,包括層,附加的蒙版通道以及其他內容
.pwl
Windows下的口令文件
.qt
Machintosh 的QuickTime影視格式,在Macintosh中由Sparkle,FastPlayer,MoviePlayer等軟體播放,在Windows中可由Quicktime播放
.qtm
動畫文件,這種文件格式是由Apple計算機公司開發,被Apple Macintosh和Microsoft Windows平台所支持,支持25位顏色,最大圖像分辯率是64000*64000,支持壓縮,用於保存音頻和運動視頻信息
.rec
Windows下的記錄器宏文件
.reg
Windows 95/98的系統及應用程序注冊文件,這種文件雖然以純文本文件保存,但一樣存在版本問題,不同的操作系統使用的REG文件版本是不同的
.rle
一種壓縮過的點陣圖文件格式,RLE壓縮方案是一種極其成熟的壓縮方案,特點是無損失壓縮,既節省了磁碟空間又不損失任何圖像數據,但在打開這種壓縮文件時,要花費更多時間,此外,一些兼容性不太好的應用程序可能會搭不開
.rm
Windows下的RealPlayer所支持的視頻壓縮文件,網上非常流行的流式視頻文件,很多實時視頻新聞等都是採用這種格式的,不過,最新的Windows Media Video V8已經對其發起了強大的攻勢
.rmi
MIDI音序文件
.rtf
豐富文本格式文件,以純文本描述內容,能夠保存各種格式信息,可以用寫字版,Word等創建
.sav
存檔文件
.scp
用於Windows系統中Internet撥號用戶,自動撥號登錄用的腳本文件,可避免手動登錄時繁瑣的鍵盤輸入
.scr
屏障保護文件
.sct
屏幕文件
.scx
屏幕文件
.set
Microsoft備份集文件,用於保存要備份的內容,設置等信息
.shb
指向一個文檔的快捷方式
.snd
Mac聲音文件,Apple計算機公司開發的聲音文件格式,被Macintosh平台和多種Macintosh應用程序所支持,支持某些壓縮
.sql
查詢文件,在Dbase,Foxbase,Foxpro系列軟體的環境下使用
.svg
SVG可以算是目前最火熱的圖像文件格式了,它是基於XML由WorldWideWebConsortium聯盟開發的,SVG是可縮放的矢量圖形
.svx
Amiga聲音文件,Commodore所開發的聲音文件格式,被Amiga平台和應用程序所支持,不支持壓縮
.swf
flash是Micromedia公司的產品,嚴格說它是一種動畫編輯軟體,實際上它是製作出一種後綴名為.swf的動畫,這種格式的動畫能用比較小的體積來表現豐富的多媒體形式,並且還可以與HTML文件達到一種"水乳交融"的境界
.swg
虛擬內存交換文件,由操作系統使用
.sys
系統文件,驅動程序等,在不同的操作系統中有不同的定義
.tbk
臨時資料庫文件,在Dbase,Foxbase,Foxpro系列軟體的環境下使用
.tga
圖像文件,此文件格式的結構比較簡單,屬於一種圖形,圖像數據的通用格式,在多媒體領域有著很大影響,是計算機生成圖像向電視轉換的一種首選格式
.tiff
圖像文件,此圖像格式復雜,存儲內容多,佔用存儲空間大,其大小是GIF圖像的3倍,是相應的JPEG圖像的10倍,最早流行於Macintosh,現在Windows主流的圖像應用程序都支持此格式
.tmp
臨時文件,一般是系統和應用程序產生的臨時使用的文件,當系統和應用程序退出時,會自動地刪除其建立的臨時文件,如果是非正常退出,臨時文件可能保留在磁碟上,在單任務系統下,可立即刪除它們,在多任務系統下,應刪除那些不是正在使用的臨時文件
.txt
文本文件
.url
InternetShortcut(internet 上URL地址的快捷方式)
.vcd
虛擬光碟機工具製作的光碟鏡像文件
.ver
版本描述,用於描述某個軟體的版本信息的文件,內容因軟體而異
.voc
聲音文件,此文件格式由Creative Labs公司開發,被Windows和DOS平台所支持,支持壓縮
.vxd
虛擬設備驅動程序,在Windows操作系統中非常常見,是重要的系統文件
.wab
通信簿文件,由系統中的通信簿程序使用
.wav
音頻文件,此文件格式是在Windows上用於保存音頻信息的資源格式,Windows中由Waveform Hold and Modify或Navigator,或"媒體播放機"播放,存在許多編碼方式,需要相應的解碼程序才能播放
.win
窗口文件,在Dbase,Foxbase,Foxpro系列軟體的環境下使用
.wmf
Microsoft Windows中常見的一種圖元文件格式,它具有文件短小,圖案造型化的特點,整個圖形常由各個獨立的
⑵ 常見的文件系統及作用
*.pif為DOS環境下的可執行文件在Windows下執行時所需要的文件格式
★常見的文件後綴名
.ACA:Microsoft的代理使用的角色文檔
.acf:系統管理配置
.acm:音頻壓縮管理驅動程序,為Windows系統提供各種聲音格式的編碼和解碼功能
.aif:聲音文件,支持壓縮,可以使用Windows Media Player和QuickTime Player播放
.AIF:音頻文件,使用Windows Media Player播放
.AIFC:音頻文件,使用Windows Media Player播放
.AIFF:音頻文件,使用Windows Media Player播放
.ani:動畫游標文件擴展名,例如動畫沙漏。
.ans:ASCII字元圖形動畫文件
.arc:一種較早的壓縮文件,可以使用WinZip,WinRAR,PKARC等軟體打開
.arj:壓縮文件。可以使用WinZip,WinRAR,PKARC等軟體打開
.asf:微軟的媒體播放器支持的視頻流,可以使用Windows Media Player播放
.asp:微軟的視頻流文件,可以使用Windows Media Player打開
.asp:微軟提出的Active Server Page,是伺服器端腳本,常用於大型網站開發,支持資料庫連接,類似PHP。可以使用Visual InterDev編寫,是目前的大熱門
.asx:Windows Media 媒體文件的快捷方式
.au:是Internet中常用的聲音文件格式,多由Sun工作站創建,可使用軟體Waveform Hold and Modify 播放。Netscape Navigator中的LiveAudio也可以播放.au文件
.avi:一種使用Microsoft RIFF規范的Windows多媒體文件格式,用於存儲聲音和移動的圖片
.bak:備份文件,一般是被自動或是通過命令創建的輔助文件,它包含某個文件的最近一個版本,並且具有於該文件相同的文件名
.bas Basic:語言源程序文件,可編譯成可執行文件,目前使用Basic開發系統的是Visual Basic
.bat:批處理文件,在MS-DOS中,.bat文件是可執行文件,有一系列命令構成,其中可以包含對其他程序的調用
.bbs:電子告示板系統文章信息文件
.bfc:Windows的公文包文件
.bin:二進制文件,其用途依系統或應用而定
.bmp:Bitmap點陣圖文件,這是微軟公司開發Paint的自身格式,可以被多種Windows和Windows NT平台及許多應用程序支持,支持32位顏色,用於為Windows界面創建圖標的資源文件格式。
.c:C語言源程序文件,在C語言編譯程序下編譯使用
.cab:Microsoft制訂的壓縮包格式,常用於軟體的安裝程序,使用Windows自帶的實用程序,Extract.exe可以對其解壓縮,WinZip,WinRAR等都支持這種格式
.cal:Windows 中的日歷文件
.cdf:Internet Explorer的頻道文件
.cdr:CorelDraw中的一種圖形文件格式,它是所有CorelDraw應用程序中均能夠使用的一種圖形圖像文件格式
.cdx:索引文件,存在於Dbase,Foxbase,Foxpro系統軟體環境下
.cfg:配置文件,系統或應用軟體用於進行配置自己功能,特性的文件
.chm:編譯過後的HTML文件,常用於製作幫助文件和電子文檔
.clp:在Windows下剪貼板中的文件格式
.cmd:用於Windows NT/2000的批處理文件,其實與BAT文件功能相同,只是為了與DOS/Windows 9x下的BAT有所區別
.cmf:音效卡標準的音樂文件,FM合成器等可以回放
.cnf:NetMeetting會議連接文件
.cnt:聯機幫助文件目錄索引文件,通常和同名的.hlp文件一起保存
.col:由Autodesk Animator,Autodesk Animator Por等程序創建的一種調色板文件格式,其中存儲的是調色板中各種項目的RGB值
.com:DOS可執行命令文件,一般小於64KB
.cpl:控制面板擴展文件,Windows操作系統使用
.cpp:C++語言源程序,非常強大的語言,在各種平台中都有相應的開發系統
.crd:Windows中的卡片文件
.crt:用於安全方面的證書認證文件
.cur:Windows下的游標資源文件格式,可用游標編輯軟體編輯
.css:Text/css文件
.dat:數據文件,在應用程序中使用
.dat:VCD中的圖象聲音文件,VCD播放軟體可調用,或是通過VCD機播放
.dbf:資料庫文件,Foxbase,Dbase,Visual FoxPro,等資料庫處理系統所產生的資料庫文件
.dcx:傳真瀏覽文檔文件
.ddi:映象文件,DUP,HD,IMG等工具可展開
.dev:設備驅動程序
.dib:設備無關點陣圖文件,這是一種文件格式,其目的是為了保證用某個應用程序創建的點陣圖圖形可以被其它應用程序裝載或顯示一樣
.dir:目錄文件
.dll:Windows動態連接庫,幾乎無處不在,但有時由於不同版本DLL沖突會造成敗各種各樣的問踢
.doc:是目前市場佔有率最高的辦公室軟體Microsoft Office中的字處理軟體Word創建的文檔
.dos:Windows保留的MS-DOS的某些系統文件
.dot:Microsoft Word的文檔模板文件,通過模板可以簡化一些常用格式文檔的創建工作,而且可以內嵌VBA程序來實現某些自動化功能
.drv:設備驅動程序文件,用在各種系統中
.dwg:AutoCAD的圖紙文件,也是許多繪圖軟體都支持的格式,常用於共享數據
.dxb:AutoCAD創建的一中圖形文件格式
.dxf:圖形交換格式,一種計算機輔助設計的文件格式,最初開發用來與AutoCAD一起使用,以便於圖形文件在應用程序之間的傳遞,它以ASCII方式儲存圖形,在表現圖形的大小方面十分精確
.der:Certiticate文件
.dic:Txt文件
.emf:由Microsoft公司開發的Windows 32位擴展圖元文件格式,其總體設計目標是要彌補在Microsoft Windows 3.1(Win16)中用的*.wmf文件格式的不足,使得圖元文件更加易於使用
.eps:用PostScript語言描述的一種圖形文件格式,以文本文件保存,在PostScript圖形列印機上能列印出高品質的圖形圖象,最高能表示32點陣圖形圖象
.err:編譯錯誤文件,存在於Dbase,Foxbase,Foxpro系列軟體環境下
.exe:可執行文件,雖然後綴名相同,但具有不同的格式和版本
.exp:3DS使用的顯示卡驅動程序
.exc:Txt文件
.flc:Autodesk Animator和Animatorpro的動畫文件,支持256色,最大的圖象象索是64000*64000,支持壓縮,廣泛用於動畫圖形中的動畫序列,計算機輔助設計和計算機游戲應用程序
.fnd:保存的搜索結果
.fon:點陣字型檔文件
.for:Fortran語言程序
.fot:指向字體的快捷鍵
.fp: 配置文件,存在於Dbase,Foxbase,Foxpro系列軟體的環境下
.fpt:備注欄位文件,存在於Dbase,Foxbase,Foxpro系列軟體的環境下
.frt:報表文件,存在於Dbase,Foxbase,Foxpro系列軟體的環境下
.frx:報表文件,存在於Dbase,Foxbase,Foxpro系列軟體的環境下
.fxp:編譯後的程序,存在於Dbase,Foxbase,Foxpro系列軟體的環境下
.gif:在各種平台的各種圖形處理軟體上均能夠處理的,經過壓縮的一種圖形文件格式
.grh:方正公司的圖象排版文件
.grp:Windows下的程序管理器產生的組窗口文件
.goc:Gocserve
.gra:MSGraph.Chart.5
.h: C語言源程序頭文件
.hlp:Windows應用程序幫助文件
.hqx:Macintosh中使用BinHex將二進制文件編碼為7位的文本文件,大多數Macintosh文件皆以.hqx出現(.bin極少使用),在Macintosh中,可使用StuffIt Expander對.hqx解碼,在Windows中可使用BinHex 13解碼
.ht: 超級終端
.htm:保存超文本描述語言的文本文件,用於描述各種各樣的網頁,使用各種瀏覽器打開
.html:同.htm文件
.icm:圖象配色描述文件
.ico:Windows中的圖標文件,可以包含同一個圖標的多種格式,使用圖標編輯軟體創建
.idf:MIDI樂器定義
.idx:索引文件,存在於Dbase,Foxbase,Foxpro系列軟體的環境下
.iff:文件交換格式文件,這種文件格式多用於Amiga平台,在這種平台上它幾乎可以存儲各種類型的數據,在其它平台上,IFF文件格式多用於存儲圖象和聲音文件
.image:MAcintosh磁碟映象文件,常見於萍果機的FTP網點,在Macintosh中由Shrink Wrap處理
.ime:Windows下的輸入法文件
.img:磁碟映象文件,用HD-COPY,WinImage等工具打開後可以恢復到一張磁碟上
.inc:匯編語言包含文件,類似C/C++中的.H文件
.inf:Windows下的軟體安裝信息,Windows的標准安裝程序根據此文件內的安裝信息對軟體,驅動程序等進行安裝
.ini:Windows中的初始化信息文件,已經用的不多了,新的應用程序將設置保存在系統的注冊表中
.jar:一種壓縮文件,ARJ的新版本,不過不太流行,可以使用WinJar,Winrar等打開
.jpeg:一種圖片壓縮文件,同.jpg
.jpg:靜態圖象專家組制訂的靜態圖象壓縮標准,具有很高的壓縮比,使用非常廣泛,可使用PhotoShop等圖象處理軟體創建
.lnk:快捷方式,這個文件指向另一個文件,開始菜單的程序文件夾下每條項目都是一個LNK文件
.log:日誌文件,通常用來記錄一些事件之類
.lzh:一種古老的壓縮文件,可以使用WinRAR打開
.mac:Macintosh中使用的一中灰度圖形文件格式,在Macintosh Paintbrush中使用,其解析度只能是720*567
.mag :圖形文件格式
.mdb :Microsoft Access使用的資料庫格式,是非常流行的桌面資料庫
.men :內存應用文件,存在於Dbase,Foxbase,Foxpro系列軟體的環境下
.mid :音頻壓縮文件,曾經非常流行,不過在現在的軟體中用的很少了
rle :一種壓縮過的點陣圖文件格式,RLE壓縮方案是一種極其成熟的壓縮方案,特點是無損失壓縮,既節省了磁碟空間又不損失任何圖像數據,但在打開這種壓縮文件時,要花費更多時間,此外,一些兼容性不太好的應用程序可能會搭不開
.rm :Windows下的RealPlayer所支持的視頻壓縮文件,網上非常流行的流式視頻文件,很多實時視頻新聞等都是採用這種格式的,不過,最新的Windows Media Video V8已經對其發起了強大的攻勢
.rmi :MIDI音序文件
.rtf :豐富文本格式文件,以純文本描述內容,能夠保存各種格式信息,可以用寫字版,Word等創建
.sav :存檔文件
.scp :用於Windows系統中Internet撥號用戶,自動撥號登錄用的腳本文件,可避免手動登錄時繁瑣的鍵盤輸入
.scr :屏障保護文件
.sct :屏幕文件
.scx :屏幕文件
.set :Microsoft備份集文件,用於保存要備份的內容,設置等信息
.shb :指向一個文檔的快捷方式
.snd :Mac聲音文件,Apple計算機公司開發的聲音文件格式,被Macintosh平台和多種Macintosh應用程序所支持,支持某些壓縮
.sql:查詢文件,在Dbase,Foxbase,Foxpro系列軟體的環境下使用
.svg :SVG可以算是目前最火熱的圖像文件格式了,它是基於XML由WorldWideWebConsortium聯盟開發的,SVG是可縮放的矢量圖形
.svx :Amiga聲音文件,Commodore所開發的聲音文件格式,被Amiga平台和應用程序所支持,不支持壓縮
.swf :flash是Micromedia公司的產品,嚴格說它是一種動畫編輯軟體,實際上它是製作出一種後綴名為.swf的動畫,這種格式的動畫能用比較小的體積來表現豐富的多媒體形式,並且還可以與HTML文件達到一種"水乳交融"的境界
.swg:虛擬內存交換文件,由操作系統使用
.sys:系統文件,驅動程序等,在不同的操作系統中有不同的定義
⑶ 如何在c語言中打開另一個程序
一, 調用自己開發的應用
1)在plist文件中,注冊對外介面
在xcode group&files 裡面,展開 resources選擇info.plist
滑鼠右擊information property list ,然後從列表中選擇URL types
右擊 add row 添加一個對象(item)右擊item add row
從列表中選擇 URL Schemes 再右擊添加一個對象(item1)
將item1得值設置為:myapp
這個myapp就是對外介面,其它應用可以通過它,調用該應用
plist如下圖所示:
2).處理URL請求
應用程序委託在 application:handleOpenURL:方法中處理傳遞給應用程序的URL請求。如果您已經為自己 的應用程序注冊了定製的URL模式,則務必在委託中實現這個方法。
下面代碼實現了這個委託方法;
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
if([[url scheme] isEqualToString:@"myapp"]){
[application setApplicationIconBadgeNumber:10];
return YES;
}
return NO;
}
3).測試外部調用
1.回到Home屏幕,啟動Safari(在iPhone模擬器上,在菜單上選擇Hardware->Home命令就可以回到Home屏幕)。
2.在Safari的地址欄中,鍵入使用定製模式的URL:myapp:
3.確認您的應用程序是否啟動,以及應用程序委託是否收到application:handleOpenURL:消息。
4)調用方法
在你需要調用上面注冊過對外介面的應用中,添加下面代碼即可
NSURL *url = [NSURL URLWithString:@"myapp:"];
[[UIApplication sharedApplication] openURL:url];
通過上述兩個步驟,你可以在你的應用中,讓用戶打開你的其它應用
二, 調用IOS自帶的應用
上面講述的是調用自身的應用,講解了如何在自己應用之間調用問題,今天介紹一下如果調用IOS自帶的app的方法
一、調用app store界面方法
在實際開發中,往往要推薦自己其他應用和推薦自己的收費軟體,那麼我們就需要在程序中直接連接到app store的相應頁面。
實際上的做法很簡單,使用的還是UIApplication類的OpenURL方法:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"程序的相應連接"]];
二、調用其它應用的方法
⑷ C語言中工程cfg和cfpg有什麼區別
%d表示輸入或輸出十進制有符號數,
%f表示輸入或輸出浮點數(float,四位元組表示)
另%lf表述輸入或輸出雙精度浮點數(double 8位元組表示)
如
int main(){
int D;
float F;
double LF;
scanf("%d,%f,%lf",D,F,LF);
printf("%d,%f,%lf",D,F,LF);
return 0;
}
⑸ C語言中變數賦值有什麼規定嗎
int,char,float,double,long,short
以上在C語言中都是用來定義基本數據類型的;比如有好多櫃子,我們拿了標簽貼在每個櫃子上表示這個櫃子放哪類東西,大櫃子放大東西,小櫃子放小東西,這里櫃子相當於計算機內存空間,東西就是我們的數據。具體意思如下:
int:表示定義一個整型變數,一般佔用4個位元組
char:表示定義一個字元型變數,一般佔用1個位元組
float:表示定義一個單精度浮點變數,一般佔用4個位元組
double:表示定義一個雙精度浮點變數,一般佔用8個位元組
long:表示定義一個長整型變數,一般佔用4個位元組,和int差異是至少是4個位元組,int至少2個位元組
short:表示定義一個短整型變數,一般佔用2個位元組
⑹ c語言如何 調用外部程序
1. 在調用之前,先聲明和定義函數
2. 根據你函數的參數類表來,填入函數調用時所真正用到的參數來進行調用
例如:要在函數 F(){... } 中調用新增的小程序int FA(int a)和 char FC(char c),按照上面講的:
1.聲明和定義
int
FA(int a){ /*函數功能具體的定義*/};
char
FC(char& c){ ... /*函數功能具體的定義*/};
2 根據函數的聲明,在F()中加以調用
void
F()
{
... ...
int getA = FA(6); //6為int,如果參數是6.001,則會強制轉換成為6
... ...
char getC= FC('a') //a為單個的字元
}
就這樣,簡單吧,去試試吧 :-)
⑺ 誰知道so文件, def 文件,cfg文件是什麼文件,有什麼用
(1)So,LINUX 下的庫文件
(2)DEF是C語言創建的,def文件是用於定義常量的.
(3)CFG這個是配置文件,用於保存應用程序或者系統的配置信息
⑻ 如何C語言與匯編混編
c語言可以嵌套匯編:
按照TC2.0的幫助系統所以說的,在TC2.0下是可以用匯編的,方法是使用asm關鍵字:其格式是:
asm opcode <operands> <;newline>,如同別的注釋一樣,<>之間的表示可選的;例如:
main()
{
char *c="hello,world/n/r$";
asm mov ah,9;asm mov dx,c;asm int 33;
printf("You sucessed!/n");
}
或者是:
main()
{
char *c="hello,world/n/r$";
asm mov ah,9
asm mov dx,c
asm int 33
printf("You sucessed!");
}
兩種格式其實是一種.如果你用的是第一種的樣式,記住:
每一句匯編語句都要以asm開頭,如果一行內有多個句子,
那麼千萬不要忘記在兩個句子之間的這個semicolon(分號),
但是最後一句匯編後面(如果後面沒有其它的語句)的分號可有可無,象第一個例子中的
asm int 33;後面的分號就可以不要,因為它的後面沒有其它
的語句了.但如果是這樣:
asm mov ah,9; asm mov dx,c;asm int 33; printf("You sucessed!");
那麼asm int 33;後面的分號便還是留下好,以免出現編譯錯誤!
在這一點上頗象C語言.
還有一種格式是
asm{ assembly language statement},這種格式應該被普遍的歡迎.
它們的例子如下(其中的語句排列格式與上面兩種相同):
asm{
mov ax,var1
add ax,var2
......
}
但是要注意這種格式TC2.0是不支持的!
只有後來的TC++3.0及後來的IDE支持!
工具的使用:
一旦你的C源文件里包括了這些好東西,則必須用TCC.EXE的COMMAND-LINE來編譯,具體的命令參數TCC.EXE已經提供,這里不復闡述了.最簡單的是:TCC C源文件名(使用這個方法,TCC會自動調用TASM.EXE和TLINK.EXE,並且能夠使TLINK.EXE正確的找到需要的.obj和.lib文件,如果你單步編譯的話,可能會碰到很多的問題,主要是TLINK.EXE它自己並不會去找.obj和.lib文件,你自己可以建一個.bat文件,如果要指定.lib文件的目錄的話可以用/L參數,在文章的後面有一個例子).但大家要注意了,看一下你的TC目錄下面到底是否有TASM.EXE文件,並在TURBOC.CFG(這個文件包括TCC.EXE運行期參數,這裡面所有參數在運很期都將被自動TCC.EXE使用,例如:-IH:/TC/INCLUDE/
-LH:/TC/LIB/)文件中設置好一些參數,並確認TASM.EXE的版本號要2.0以上,以及是否能夠向下兼容.但是在大多數的情況下TC的目錄是沒有TASM.EXE的,或是版本不正常.
如果你有TASM.EXE文件並且TURBOC.CFG文件也已經寫好了,但是還要注意一個
問題:運行TCC.EXE時要在獨立的DOS SHELL下面(不要害怕,這不是一個新東西,我的意思
是,不在諸如TC下的DOS SHELL下面運行,我曾經敗在這個問題下,當我發現時直想揍電腦
一頓,還好沒有,不然就沒有這篇文件了.)
還有一句重要的話:TC2.0支持大部分8086指令(當然用法有一些約定,不過現在我並不打算
進行詳細說明,因為那是一件很繁雜的事,以後有時間或許會寫出來----如果大家需要的話).
如果說上面我所說的那些約定很繁雜的話,那麼下面的方法該是多麼簡單啊!
讓我們使用Borland為TC2.0內建的變數來進行偽匯編.
或許你還不知道在TC2.0中還有一些內建的pseudo寄存器(可以看作是register 型的變數,但是它們比register型的變數好用的多)
_AX,_AH,_AL,
_BX,_BH,_BL,
_CX,_CH,_CL,
_DX,_DH,_DL,
_DI,_SI,_SP,
_CS,_DS,_ES,_SS
注意這些寄存器的size,_AX,_BX,_CX,_DX,_CS,_DS,_ES,_SS,_SI,_DI,_SP等都是16位的寄存器相當於C語言的unsigned int類型,其餘的都是8位的寄存器(相當於unsigned char)(TC怎麼可能支持32位的寄存呢,所以EAX等是不能用的,FS,GS和IP寄存器都是無效的),還有就是在傳遞參數的時候千萬不要忘記使用強制類型轉換.
中斷調用指令是:__int__(interrupt_#)(注意int的前輟和後輟都是兩個underscores)
For example:
#include<dos.h>
unsigned int _stklen=0x200;
unsigned int _heaplen=0;
main()
{
_DX=(unsigned int)"Hello,world./r/n$";
_AX=0x900;
__int__(0x21);
}
dos.h它是包含__int__()內建中斷調用語句的頭文件,因此是不可
缺少的._stklen和_heaplen是定義運行期堆棧和堆大小的兩個內部
引用變數(這是個我自己想的名詞,意指如果這兩個變數在源文件中
顯式的聲明了,那麼編譯程序會自會引用來構造編譯時期的信息以產生
用戶希望的目標文件,如果不顯式的聲明則編譯程序自動確定).
這兩個變數也有一些約定,如果_stklen不顯式聲明,_heaplen賦值為零
都表示棧和堆都是defult的.
最後在TC2.0中還有一個沒有說明的標志位寄存器flags,它也是內建
pseudo寄存器是:_FLAGS,是一個16位寄存器.這些內建的寄存器都可以進行
運算,但是要注意它們所代表的類型(必要時進行類型轉換);
看起來這是不是一種好的辦法啊(而且使用這種方法只要用個一個dos.h頭文件就好,
不需要用TCC編譯,可以直接在TC20的IDE下編譯).
TC2.0中也提供了一些簡單好用的函數來實現對DOS功能的調用如:
int86(...),int86x(...)(但是這些方法實際仍然要調用函數,所以不如使用
偽寄存器,又因為要牽涉到union REGS結構的內存分配所以系統的開銷是增大了,
而使用偽寄存器是最簡潔的),埠通信函數如:inportb(...),inport(...),
outportb(...),outport(...),指針轉換函數:FP_OFF,FP_SEG,MK_FP,這些函數在
幫助系統中都有,有用時大家可以查閱.
tlinkbat.bat的例子:
rem The lib environment variable is the directory of the .obj and .lib file
set lib=h:/tc/lib/
rem 這下面的句子中的c0s(C 零S)是一個.OBJ文件,是一個C程序的STARTUP文件
tlink %lib%c0s %1,%1,%1,/L%lib%emu.lib %lib%maths.lib %lib%cs.lib
set lib=
(使用時可將以rem開頭的句子刪除)
___________________________________________________
一些約定:
我們先說一下在TC20下寫匯編(內聯匯編--自己起的名字,大家可以想叫什麼叫什麼)時的編譯器的編譯原則:
1.所有在main()函數外的的匯編語言的語句都作為數據聲明語句處理,也即在編譯器編譯時會將它放在數據段中,如:
asm string1 db "Hello",,,'world!',0ah,0xd,"$"
main()
{
asm mov dx,offset string1
asm mov ah,9
asm int 33
asm mov dx,offset string2
asm int 33
}
asm string2 db "the string can be declared after the main() function!$"
象這些樣子在main()外面的匯編語言的數據定義語句(事實上不管是什麼匯編語句,
只要是在main()之外,包括這個句子:asm mov ax,0x4c00),在編譯後都放在數據段中,而C語言的數據聲明語句仍按C的規則!
2.所有在main()函內的匯編語言的語句在編譯後都放在代碼段中,包括這個句子:
asm string2 db "the string can be declared after the main() function!$"
3.不要在以asm 開頭的語句中使用C語言的關鍵字,這會導致編譯階段的錯誤
那麼,根據這三條大家會得到什麼樣的結論呢?(先閉上眼想一想,你可能會由此變的
很贊賞自己,是的你應該這樣相信自己是對的!)
讓我們一起看一下這個結論:
1.根據編譯原則1得到:不可以在main()外面寫匯編命令語句(不要笑,正是與C語言相同才值得注意!),在任何地方都不要進行任何的段定義和宏定義(這是因為編譯後的形式決定的,也即:在TC20下所有的匯編格式的語句只能是,直接性的數據定義和語句指令)!
2根據編譯原則2得到:不可以在main()之內使用匯編的語句進行數據定義(同樣不要笑,
大多數人在第一次在TC20下寫匯編都會有這樣的錯誤的)
3.如同類強制類型這樣的事是不可以在以asm開頭的匯編語句中使用的
好了,天即朗,氣瞬清!這樣一說,一個大體的框架就出來了!只要遵守這個原則寫,就可避免很多莫名其妙的錯誤出現!
通俗的說:
匯編語句的數據定義放在main()外面,指令放在main()裡面.
如果你沒有更好的文檔,那麼記住我的這些話!
一些細節的問題:
在以asm開頭的內聯匯編語句中是不支持C的轉義字元的,但是用C語言聲明一個字元數組(含有轉義字元的),然後用int 33 ah=9這功能時輸出這個字元串時,其中的轉義字元是有效的(這主要是因為編譯後其內部表示形式不同造成的,自己想想會有答案的).
內聯匯編支持C的一些如數值表示,字元串聲明格式等,
如:一個十六進制的數據可以用兩種方式表示:0xa 和0ah,字元串可以是這樣:
"Hello,world!$"(如同C)也可以這樣'Hello,world!$'(用匯編自己的方式).
象C一樣你同樣要注意賦值的類型,而且要比C更嚴格(匯編從來不自己動手做
如同類型轉換啊這樣事),所以一切的事完全要你自己做好!而且你不要企圖以C的形式
做這件事,如這樣的格式 asm mov dx,(unsigned)a(a是一個這樣的東西,
char a[ ]="hello,world!";),而且這樣句子也會導致錯誤:asm mov dx,word ptr a(邏輯錯誤),不過這不是在編譯時的錯誤,而是運行期的錯誤(具體的原因自己想一想,象word label這樣的東西的運算作用和會導致的後果),你可以這樣用一個句子做"中間人"如int i=(unsigned)a;asm mov dx,i(也千萬不要用asm mov dx,(unsigned)a 這樣的句子.但是,告訴大家一個好消息,你可以用指針指向一個字元串,然後你會驚訝你竟然可以這樣:
char *p="hello,world";asm mov dx,p,然後用int 33 ah=9的功能輸出這個字元串而不會有錯誤(這也表現出指針的特點,它是一個二位元組的(TC20下)變數,含有的是一個地址,這與其指向的變數的類型是毫無關系的).
內匯匯編語句不支持->這個運算符.還有標號的問題,在最後的例子中你會年看到一些特別之處!
上面所說的只是很細小並微少的一些事(也是很常遇到的),尚有很多的細節要說,但由於本人時間有限不能一一列舉,如C的結構在內聯匯編的應用等大家可以按照其運行機理去想想一下用法;另外,由於這只是一件學習的事,所以還是大家自己學(找一下有關文檔,當然現在已經沒有什麼比較完整的了),情況會好的多,我在對內聯匯編的學習過程中領會到了不少的東西,例如編譯原理方面的知識,以及如何做會使代碼更高效,占空間最少等的方法.最後向大家推薦一種方法,在利用TCC的-S開關可以生成C源文件的匯編代碼
(或許很多的人都用過)是很好的學習材料!祝大家學有所成!
Cstarter
02-11-17
/* 由於個人的時間和能力有限,難免有錯誤和不詳細的地方,請大家見諒!
My Email:[email protected] [email protected] QQ:170594633 */
一些例子:
下面這個例子是對沈美明 溫冬嬋的
<<IBM-PC 匯編語言程序設計>>清華版第十一章程序的改寫
可直接在命令行上鍵入 tcc filename 就可以,當然你要有TASM.EXE
/*
asm mus_frep dw 330,294,262,294,3 p(330)
asm dw 3 p(294),330,392,392
asm dw 330,294,262,294,4 p(330)
asm dw 294,294,330,294,262,-1
asm mus_time dw 6 p(25),50
asm dw 2 p (25,25,50)
asm dw 12 p(25),100
*/
asm mus_frep dw 330,392,330,294,330,392,330,294,330
asm dw 330,392,330,294,262,294,330,392,294
asm dw 262,262,220,196,196,220,262,294,330,262
asm dw -1
asm mus_time dw 3 p (50),25,25,50,25,25,100
asm dw 2 p (50,50,25,25),100
asm dw 3 p (50,25,25),100
main()
{
asm jmp start
/*設置發聲的頻率,這一段在沈美明 溫冬嬋的
<<IBM-PC 匯編語言程序設計>>清華版第十一章有詳細的說明 */
sound:
asm mov al,0b6h
asm out 43h,al
asm mov dx,12h
asm mov ax,533h*896
asm div di
asm out 42h, al
asm mov al,ah
/* 這個延時是用來防止兩次IO操作的最後一次操作的錯誤,
因為CPU比匯流排的速度快很多,所以 要延時等待第一次操作完成後再進行第二次操作*/
asm mov cx,1000
delay:
asm loop delay
asm out 42h,al
asm in al,61h
asm mov ah,al
asm or al,3
asm out 61h,al
/* 使用中斷15H功能86H延時CX:DX=微秒數*/
asm mov ax,2710h
asm mul bx
asm mov cx,dx
asm mov dx,ax
asm mov ah,86h
asm int 15h /*可用__int__(0x15);代替*/
asm mov al,ah
asm out 61h,al
asm jmp add_count
/*------------------*/
start:
asm mov si,offset mus_frep
asm lea bp,mus_time
frep:
asm mov di,[si]
asm cmp di,-1
asm je end_mus
asm mov bx,[bp]
asm jmp sound
add_count: /*標號不能用匯編語言寫*/
asm add si,2
asm add bp,2
asm jmp frep
end_mus:;
}
對於上面的程序大家可用偽寄存器的方法寫一個,要容易的多!
/*一個發聲程序!(引自<<PC技術內幕>>電力版--這個版不好,不如清華版的)*/
#include"dos.h"
main()
{
static union REGS ourregs;
outportb(0x43,0xb6);
outportb(0x42,0xee);
outportb(0x42,0);
outportb(0x61,(inportb(0x61)|0x03));
ourregs.h.ah=0x86;
ourregs.x.cx=0x001e;
ourregs.x.dx=0x8480;
int86(0x15,&ourregs,&ourregs);
outportb(0x61,(inportb(0x61)&0xfc));
}
⑼ 簡單的問題~!!擴展名
★常見的文件後綴名
.ACA:Microsoft的代理使用的角色文檔
.acf:系統管理配置
.acm:音頻壓縮管理驅動程序,為Windows系統提供各種聲音格式的編碼和解碼功能
.aif:聲音文件,支持壓縮,可以使用Windows Media Player和QuickTime Player播放
.AIF:音頻文件,使用Windows Media Player播放
.AIFC:音頻文件,使用Windows Media Player播放
.AIFF:音頻文件,使用Windows Media Player播放
.ani:動畫游標文件擴展名,例如動畫沙漏。
.ans:ASCII字元圖形動畫文件
.arc:一種較早的壓縮文件,可以使用WinZip,WinRAR,PKARC等軟體打開
.arj:壓縮文件。可以使用WinZip,WinRAR,PKARC等軟體打開
.asf:微軟的媒體播放器支持的視頻流,可以使用Windows Media Player播放
.asp:微軟的視頻流文件,可以使用Windows Media Player打開
.asp:微軟提出的Active Server Page,是伺服器端腳本,常用於大型網站開發,支持資料庫連接,類似PHP。可以使用Visual InterDev編寫,是目前的大熱門
.asx:Windows Media 媒體文件的快捷方式
.au:是Internet中常用的聲音文件格式,多由Sun工作站創建,可使用軟體Waveform Hold and Modify 播放。Netscape Navigator中的LiveAudio也可以播放.au文件
.avi:一種使用Microsoft RIFF規范的Windows多媒體文件格式,用於存儲聲音和移動的圖片
.bak:備份文件,一般是被自動或是通過命令創建的輔助文件,它包含某個文件的最近一個版本,並且具有於該文件相同的文件名
.bas Basic:語言源程序文件,可編譯成可執行文件,目前使用Basic開發系統的是Visual Basic
.bat:批處理文件,在MS-DOS中,.bat文件是可執行文件,有一系列命令構成,其中可以包含對其他程序的調用
.bbs:電子告示板系統文章信息文件
.bfc:Windows的公文包文件
.bin:二進制文件,其用途依系統或應用而定
.bmp:Bitmap點陣圖文件,這是微軟公司開發Paint的自身格式,可以被多種Windows和Windows NT平台及許多應用程序支持,支持32位顏色,用於為Windows界面創建圖標的資源文件格式。
.c:C語言源程序文件,在C語言編譯程序下編譯使用
.cab:Microsoft制訂的壓縮包格式,常用於軟體的安裝程序,使用Windows自帶的實用程序,Extract.exe可以對其解壓縮,WinZip,WinRAR等都支持這種格式
.cal:Windows 中的日歷文件
.cdf:Internet Explorer的頻道文件
.cdr:CorelDraw中的一種圖形文件格式,它是所有CorelDraw應用程序中均能夠使用的一種圖形圖像文件格式
.cdx:索引文件,存在於Dbase,Foxbase,Foxpro系統軟體環境下
.cfg:配置文件,系統或應用軟體用於進行配置自己功能,特性的文件
.chm:編譯過後的HTML文件,常用於製作幫助文件和電子文檔
.clp:在Windows下剪貼板中的文件格式
.cmd:用於Windows NT/2000的批處理文件,其實與BAT文件功能相同,只是為了與DOS/Windows 9x下的BAT有所區別
.cmf:音效卡標準的音樂文件,FM合成器等可以回放
.cnf:NetMeetting會議連接文件
.cnt:聯機幫助文件目錄索引文件,通常和同名的.hlp文件一起保存
.col:由Autodesk Animator,Autodesk Animator Por等程序創建的一種調色板文件格式,其中存儲的是調色板中各種項目的RGB值
.com:DOS可執行命令文件,一般小於64KB
.cpl:控制面板擴展文件,Windows操作系統使用
.cpp:C++語言源程序,非常強大的語言,在各種平台中都有相應的開發系統
.crd:Windows中的卡片文件
.crt:用於安全方面的證書認證文件
.cur:Windows下的游標資源文件格式,可用游標編輯軟體編輯
.css:Text/css文件
.dat:數據文件,在應用程序中使用
.dat:VCD中的圖象聲音文件,VCD播放軟體可調用,或是通過VCD機播放
.dbf:資料庫文件,Foxbase,Dbase,Visual FoxPro,等資料庫處理系統所產生的資料庫文件
.dcx:傳真瀏覽文檔文件
.ddi:映象文件,DUP,HD,IMG等工具可展開
.dev:設備驅動程序
.dib:設備無關點陣圖文件,這是一種文件格式,其目的是為了保證用某個應用程序創建的點陣圖圖形可以被其它應用程序裝載或顯示一樣
.dir:目錄文件
.dll:Windows動態連接庫,幾乎無處不在,但有時由於不同版本DLL沖突會造成敗各種各樣的問踢
.doc:是目前市場佔有率最高的辦公室軟體Microsoft Office中的字處理軟體Word創建的文檔
.dos:Windows保留的MS-DOS的某些系統文件
.dot:Microsoft Word的文檔模板文件,通過模板可以簡化一些常用格式文檔的創建工作,而且可以內嵌VBA程序來實現某些自動化功能
.drv:設備驅動程序文件,用在各種系統中
.dwg:AutoCAD的圖紙文件,也是許多繪圖軟體都支持的格式,常用於共享數據
.dxb:AutoCAD創建的一中圖形文件格式
.dxf:圖形交換格式,一種計算機輔助設計的文件格式,最初開發用來與AutoCAD一起使用,以便於圖形文件在應用程序之間的傳遞,它以ASCII方式儲存圖形,在表現圖形的大小方面十分精確
.der:Certiticate文件
.dic:Txt文件
.emf:由Microsoft公司開發的Windows 32位擴展圖元文件格式,其總體設計目標是要彌補在Microsoft Windows 3.1(Win16)中用的*.wmf文件格式的不足,使得圖元文件更加易於使用
.eps:用PostScript語言描述的一種圖形文件格式,以文本文件保存,在PostScript圖形列印機上能列印出高品質的圖形圖象,最高能表示32點陣圖形圖象
.err:編譯錯誤文件,存在於Dbase,Foxbase,Foxpro系列軟體環境下
.exe:可執行文件,雖然後綴名相同,但具有不同的格式和版本
.exp:3DS使用的顯示卡驅動程序
.exc:Txt文件
.flc:Autodesk Animator和Animatorpro的動畫文件,支持256色,最大的圖象象索是64000*64000,支持壓縮,廣泛用於動畫圖形中的動畫序列,計算機輔助設計和計算機游戲應用程序
.fnd:保存的搜索結果
.fon:點陣字型檔文件
.for:Fortran語言程序
.fot:指向字體的快捷鍵
.fp: 配置文件,存在於Dbase,Foxbase,Foxpro系列軟體的環境下
.fpt:備注欄位文件,存在於Dbase,Foxbase,Foxpro系列軟體的環境下
.frt:報表文件,存在於Dbase,Foxbase,Foxpro系列軟體的環境下
.frx:報表文件,存在於Dbase,Foxbase,Foxpro系列軟體的環境下
.fxp:編譯後的程序,存在於Dbase,Foxbase,Foxpro系列軟體的環境下
.gif:在各種平台的各種圖形處理軟體上均能夠處理的,經過壓縮的一種圖形文件格式
.grh:方正公司的圖象排版文件
.grp:Windows下的程序管理器產生的組窗口文件
.goc:Gocserve
.gra:MSGraph.Chart.5
.h: C語言源程序頭文件
.hlp:Windows應用程序幫助文件
.hqx:Macintosh中使用BinHex將二進制文件編碼為7位的文本文件,大多數Macintosh文件皆以.hqx出現(.bin極少使用),在Macintosh中,可使用StuffIt Expander對.hqx解碼,在Windows中可使用BinHex 13解碼
.ht: 超級終端
.htm:保存超文本描述語言的文本文件,用於描述各種各樣的網頁,使用各種瀏覽器打開
.html:同.htm文件
.icm:圖象配色描述文件
.ico:Windows中的圖標文件,可以包含同一個圖標的多種格式,使用圖標編輯軟體創建
.idf:MIDI樂器定義
.idx:索引文件,存在於Dbase,Foxbase,Foxpro系列軟體的環境下
.iff:文件交換格式文件,這種文件格式多用於Amiga平台,在這種平台上它幾乎可以存儲各種類型的數據,在其它平台上,IFF文件格式多用於存儲圖象和聲音文件
.image:MAcintosh磁碟映象文件,常見於萍果機的FTP網點,在Macintosh中由Shrink Wrap處理
.ime:Windows下的輸入法文件
.img:磁碟映象文件,用HD-COPY,WinImage等工具打開後可以恢復到一張磁碟上
.inc:匯編語言包含文件,類似C/C++中的.H文件
.inf:Windows下的軟體安裝信息,Windows的標准安裝程序根據此文件內的安裝信息對軟體,驅動程序等進行安裝
.ini:Windows中的初始化信息文件,已經用的不多了,新的應用程序將設置保存在系統的注冊表中
.jar:一種壓縮文件,ARJ的新版本,不過不太流行,可以使用WinJar,Winrar等打開
.jpeg:一種圖片壓縮文件,同.jpg
.jpg:靜態圖象專家組制訂的靜態圖象壓縮標准,具有很高的壓縮比,使用非常廣泛,可使用PhotoShop等圖象處理軟體創建
.lnk:快捷方式,這個文件指向另一個文件,開始菜單的程序文件夾下每條項目都是一個LNK文件
.log:日誌文件,通常用來記錄一些事件之類
.lzh:一種古老的壓縮文件,可以使用WinRAR打開
.mac:Macintosh中使用的一中灰度圖形文件格式,在Macintosh Paintbrush中使用,其解析度只能是720*567
.mag :圖形文件格式
.mdb :Microsoft Access使用的資料庫格式,是非常流行的桌面資料庫
.men :內存應用文件,存在於Dbase,Foxbase,Foxpro系列軟體的環境下
.mid :音頻壓縮文件,曾經非常流行,不過在現在的軟體中用的很少了
rle :一種壓縮過的點陣圖文件格式,RLE壓縮方案是一種極其成熟的壓縮方案,特點是無損失壓縮,既節省了磁碟空間又不損失任何圖像數據,但在打開這種壓縮文件時,要花費更多時間,此外,一些兼容性不太好的應用程序可能會搭不開
.rm :Windows下的RealPlayer所支持的視頻壓縮文件,網上非常流行的流式視頻文件,很多實時視頻新聞等都是採用這種格式的,不過,最新的Windows Media Video V8已經對其發起了強大的攻勢
.rmi :MIDI音序文件
.rtf :豐富文本格式文件,以純文本描述內容,能夠保存各種格式信息,可以用寫字版,Word等創建
.sav :存檔文件
.scp :用於Windows系統中Internet撥號用戶,自動撥號登錄用的腳本文件,可避免手動登錄時繁瑣的鍵盤輸入
.scr :屏障保護文件
.sct :屏幕文件
.scx :屏幕文件
.set :Microsoft備份集文件,用於保存要備份的內容,設置等信息
.shb :指向一個文檔的快捷方式
.snd :Mac聲音文件,Apple計算機公司開發的聲音文件格式,被Macintosh平台和多種Macintosh應用程序所支持,支持某些壓縮
.sql:查詢文件,在Dbase,Foxbase,Foxpro系列軟體的環境下使用
.svg :SVG可以算是目前最火熱的圖像文件格式了,它是基於XML由WorldWideWebConsortium聯盟開發的,SVG是可縮放的矢量圖形
.svx :Amiga聲音文件,Commodore所開發的聲音文件格式,被Amiga平台和應用程序所支持,不支持壓縮
.swf :flash是Micromedia公司的產品,嚴格說它是一種動畫編輯軟體,實際上它是製作出一種後綴名為.swf的動畫,這種格式的動畫能用比較小的體積來表現豐富的多媒體形式,並且還可以與HTML文件達到一種"水乳交融"的境界
.swg:虛擬內存交換文件,由操作系統使用
.sys:系統文件,驅動程序等,在不同的操作系統中有不同的
⑽ cfg配置 進不了main
這是因為你沒有調用TEMP.H這個頭文件在主函數中加入就可以了。
cfg是大多數軟體的配置文件,也是編譯器在內部維護的時候所產生的相關文件;cfg文件也是一種文本文件,可以使用記事本、EditPlus工具打開。
Main在計算機軟體中代碼主菜單或者主類。一些桌面軟體,都會有一個主菜單,包含基本的操作菜單,命名為main。在開發語言java、c語言等高級語言中,都會存在一個main的主類,是程序執行的入口。