⑴ 这些是什么文件
说起来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的主类,是程序执行的入口。