0

关于投票
成功人士原因
  他们升入国内重点院校,是因为他们在同龄人当中成绩比较拔尖。
  他们前往海外名校深造,还是是因为他们在同学当中成绩比较拔尖。
  他们进入国际名企工作,是因为他们的能力被这些企业看中。
  他们独立创业,是因为他们具备了很多同事们没有的魄力。
  他们度过了最艰苦的耕耘期,是因为他们比竞争者们多了几分毅力,也许还多了一丝运气。
  他们终于成功了,是因为除了坚持,他们选对了正确的方向。
  ……
  
  综上所述,他们成功,是因为他们的素质,而不是仅仅因为他们出身名门。

系统分类: 生活点滴
用户分类: 生活杂烩
标签: 无标签
来源: 整理
发表评论 阅读全文(136) | 回复(0)

0

关于投票
电子类导航网站
电子类网站导航

mcs-51单片机技术学习:
www.laogu.com
www.mcu51.com
www.c51bbs.com
www.21icbbs.com


国外网站:
http://www.edaboard.com
http://www.icmaster.com/
http://www.opencores.org/
http://www.digital-designs.com/
http://www.dspguide.com/
http://www.fsa.org/
电路图网站,很多基本电路:
http://www.4qdtec.com/index.html
http://ourworld.compuserve.com/homepages/Bill_Bowden/
http://www.ee.washington.edu/circuit_archive/circuits/
http://www.mitedu.freeserve.co.uk/schematics.htm
http://www.uslink.net/~cybercir/
http://www.psyber.com/~dibsed/dcircats.html
http://www.eedesign.com.tw/html/default.asp
http://www.commlinx.com.au/schematics.htm
http://www.aaroncake.net/circuits/
http://www.uoguelph.ca/~antoon/circ/circuits.htm
http://www.electronic-circuits-diagrams.com/
http://www.udl.es/usuaris/p4089324/electronica/esquemas.htm
http://tulungagung1.tripod.com/elektro.htm
http://www.epanorama.net/index.php?index=circuit
http://www.solorb.com/elect/
http://www.designnotes.com/Circuits.htm
http://www.hwb.acc.umu.se/circuit/index.html
http://jap.hu/electronic/
http://www.devrs.com/pic/
http://www.rentron.com/
http://www.rlocman.ru/en/
http://users.otenet.gr/~athsam/#Active
http://www.schematicsforfree.com/
http://www4.tpgi.com.au/users/talking/
http://www.wa4dsy.net/
http://www.jakehome.com.tw/ckt.html
http://www.hwb.acc.umu.se/
http://www.eedesign.com.tw/rumor/index.asp
http://www.eedesign.com.cn
公司资料:
http://www.maxim-ic.com.cn/appnotes10.cfm/filter/category
国家半导体研讨会资料: http://www.national.com/onlineseminar/
国家半导体在线技术期刊: http://www.national.com/nationaledge/
Ti技术文章数据库: http://www.ti.com.cn/support/techdoc.asp
Ti技术讲座: http://www.ti.com.cn/support/ttraining.asp
http://www.cndzz.com


FPGA,CPLD,IC类网站:


常用资料与下载:
http://www.51armdsp.com/ 自由电子论坛
http://www.b2bic.com/ 电子查询网
http://amine.nease.net/ Amine嵌入式系统开发
http://www.mcu51.com/download/digitpdf/40xx/关于4000系列资料
http://www.mcu51.com/download/digitpdf/45xx/关于4500系列资料
http://www.mcu51.com/download/digitpdf/74xx/关于7400系列资料
http://www.mcu51.com/download/RS485note.pdf关于RS485的资料
http://www.mcu51.com/download/binhex.com工具
http://www.mcu51.com/download/hexbin.exe工具
http://www.mcu51.com/download/c51eval.zip关于C51的资料
http://www.mcu51.com/download/digitpdf/CPU/关于CPU的资料
http://www.maxim-ic.com.cn/Max1800-2690/MAX220-M.PDF资料
http://www.maxim-ic.com.cn达拉斯公司主站
http://etuni.com/downdata.asp?id=832&C51Tip.pdf关于C51的资料
http://www.mcu-tech.com/download/c51%20user1.pdf关于C51的资料
http://www.laogu.com/download/c51ctl.zip关于C51的资料
http://etuni.com/downsoft.asp?id=118&KeilC51v612.zip是C51中文资料
http://www.whwave.com.cn/wsjiaocai.htm教材、资料
http://www.whwave.com.cn/WWIC.htm部分IC资料
http://www.whwave.com.cn/FM24CXX.htm关于24系列资料
http://www.hongyan-e.com/web/dzbic.htm部分IC资料
http://www.cetinet.com/downloadtemp/chuankouzsV2.1.zip免费串口调试器
http://www.atmel.com/dyn/product ... o&Direction=ASC关于ATEML全系列资料
http://62.236.156.23/ideaport/d大量单片机、IC资料
http://www.p8s.com/products1/default.htm武汉力源单片机、IC资料
http://www.mcuok.com/zl/AT89S.pdf单片机AT89SXX系列资料
http://www.willar.com/download/files/jtg.zip常用三极管资料
http://www.21ic.com/download/ope ... wnload/avrebook.zip关于AVR的资料
http://www.21ic.com/download/ope ... wnload/dianlutu.zip常用电路图集
http://www.atmel.com/dyn/product ... o&Direction=ASC常用ATEML系列单片机
http://www.cetinet.com/downloadtemp/AVRselectnew.zip最新AVR器件表
http://www.cetinet.com/downloadtemp/c51programe.zip源程序C51集锦
http://www.cetinet.com/downloadtemp/pcwrite24.rar计算机并口读写W24CXX系列
http://www.cetinet.com/downloadtemp/c51user1.pdf《51单片机新技术》
http://www.cetinet.com/downloadtemp/adc2051.rar电阻网络ADC
http://www.cetinet.com/downloadtemp/max7219.pdf共阴LED驱动MAX7219
http://www.cznewcom.com/products/interfaceconverter/232r.htm工业级RS-232远程长线驱动器
http://www.mcuok.com/cd1/%b5%a5% ... a%b7%a2%b9%a4%be%df多种单片机开发工具
&nbsftp://flyflyflyfly.vicp.net单片机AVR、PIC、VCD、彩电资料
http://www.goldenchip.com.cn/dow ... ronic_Workbench.zip电路仿真软件
http://www.whwave.com.cn/wsjiaocai.asp关于EM78单片机资料
http://c-51.myrice.com/xp.htm关于51全系列单片机资料
http://www.pcbtech.net/manage/upload/download/protellib.zip关于Protel 元件库
http://www.hongyan-e.com/web/dzbjdq1.htm常用电子元气件
http://www.xie-gang.com/zlsjp.htm常用电子元件资料
http://www.51wy.com/avr/download/help.zip硬件资料
http://www.singsun.com.cn/ende.asp遥控相关的资料
http://www.8052.com/chips.phtml有关51/78系列的资料
http://www.sshangsi.com/servers.asp PDF下载
电子开放实验室:
http://www.open-lab.net/
失效专利文摘数据库,查到专利号后再用下面地址下全部资料
http://www.21sh.com/czzynet/shuo/index1.htm
最新失效专利库,可淘金,亦可用来举证无效你的竞争对手的专利http://www.bestinfo.net.cn/besti ... ubmit2=%B2%E9%D1%AF
可下全部专利资料,不收费的哦
http://www.sipo.gov.cn/
海量pdf库,900多M,不要晕了拉
http://wwwk.heltech.edu.hel.fi/ideaport/d/
http://www.ls-labs.com (网友wangshujun提供,速度较快)
下载贴片元件资料,算是敲门砖吧
http://www.sshangsi.com/servers.asp
一家派头蛮大的网站
http://www.luckmcu.com/html/download.htm
下载背光驱动资料
http://www.heatseal.com.hk/
下载各类教程好去处
http://www.pconline.com.cn/pcedu/soft/
电子超市,资料库数据量21.35G,菜鸟大虾老少皆宜的,小心眼花哦
http://218.7.17.204/
可下载《近代超声原理与应用》全书 PDF格式,共34M
http://www.tyco.com.cn/book/down.htm
中国电子技术信息网,内容广博,但不很深,领航级,去了就知道(网友shijunlian提供)
http://www.cetinet.com
贴片电阻标识代码表,求解"01C","01B","47A"阻值
http://www.rgaco.com/catalog/C/ThickFCRC3_9.pdf
SMT工程师之家,介绍SMT工艺,规范,技术
http://pro.smt.cn/web/jswl/bmtjs/200310210041.htm
SMT之家,有诸多内容,相信会吸引你的
http://www.smthome.net/article/sort.php/4
可搜寻 晶体管,集成电路,桥堆,电容,电阻,电池,晶振,可控硅 的报价,供设计方案阶段参考
http://www.eplaza.com.cn/elec/pr ... =%BF%C9%BF%D8%B9%E8
根据"印字","型号","厂家","类型","封装"查找贴片资料(网友阿锦提供)
http://www.carcav.com/search/sea ... =14&Submit.y=12
PC 机内部设备接口,内存条,外接输入输出接口,各种转换口,转接器的脚位定义,内容相当正点
http://www.hj-tech.com/file/sup/io/support_pcio.htm
推荐一个很不错的网站,其中常用资库查阅极方便,主人慷慨公开了很多实例,会有得来全不费功夫之感觉,哈哈,自已去看了拉
http://www.daqchina.net/
闸流管和双向可控硅成功应用的十条黄金规则
http://www.semiconductors.philip ... onnotes/AN10121.pdf
EDA学习园,偶然机会推门一瞄,哈哈,哈,哈,笑不动了拉,又做了一回跌勒米缸里的老虫
http://eda.sdedu.net/
常用的三条腿的器件,全部中文资料
http://www.huashan.com.cn/chinese/products.htm
听说过ewb吧,有比它更完整的"Multisim"200多M等你去下,还奉送中文版教程,我已在用了,哈哈,美极了
http://218.7.17.204/fei/2.htm
Protel经典图书专辑,哈哈,穷小子不用跑书店了拉
http://218.7.17.204/chaoxing/7.htm
这里有何立民教授的"单片机应用技术选编"第1~8集,共197M,Pdf格式 (网友smcu提供)
http://www.jinjubao.com
电气安全名词术语,GB4776-84全文,供收藏备用,当你满世界找它时,它竟在你平时的无意收藏中等你,哈哈
http://www.lsza.com/sxtd/gb4776/gb4776.htm
中国继电器网,有关继电器的五花八门一网打尽,相当权威的,不用多说了吧
http://www.wwb-st.com/
较完整地提供了各种规格的LED数码管数据资料,驱动,应用等参考资料及单价
http://www.bitcode.com.cn/led.htm
根据贴片代码查找贴片三极管资料又一去处
http://info.electronicwerkstatt. ... eile/smd/smd_aktiv/
根据贴片代码查找贴片三极管资料再一去处,与前二处有区别,多点地方总是有益的,哈哈
http://www.republika.pl/elektronikjk/s1.html#p
贴片代码手册,代码规范,有80页之多,3.1M,玩家必备,再次晕
http://www.sos.sk/pdf/SMD_Catalog.pdf
这个地址若不能直接打开,可先进
http://www.sos.sk/pdf/ 然后再点击SMD_Catalog.pdf
无意间闯入中国家用电器研究院,打开文件柜发现了这个好东东
<实施规则汇总> 可下载强制性产品认证实施规则,当老板要你写点什么时,提供炮弹,哈哈,别忘了谢我哦
http://www.cnca.gov.cn/cccssgz.htm
用于液晶显示的字库,好东东哦,不是太漂亮,但键盘字母都有哦
http://www.91it.net/download/software.asp?id=1112
值得一进的网站,似乎与上面的有些重复,但界面一目了然,可下资料,书籍,软件(由网友guxin001推荐)
http://ychunzhi.y365.com/ZY.htm
你平时用过这些东西吗?满世界找时叫得出它们的名字吗?这里给你提供了一份相当完整的资料
http://www.rccn.com.cn/index.html
Roland专门术语词典,非常详尽,喜欢电子音乐的朋友值得收藏
http://www.rolandtaiwan.com.tw/MI/glossary/b.htm#BandPassFilter
国内最大的一家壳体生产厂,品种多得令人眼花,不过价格有点偏高,做试样还是可以承受的
http://www.china-mould.com/gb/lei.asp?lei=18&page=2
数据资料大全,集二极管,三极管,线性电路,数字电路DataSheet之大成,市场上有的,几乎一网打尽,哈哈,又笑不动了拉
http://www.alldatasheet.com/
查找各种管子资料的好东东,神兵利器不嫌多
http://www.searchdatasheets.com/catalog/r/16.html
朴素的界面,与众不同的内容,简明的目录,如能收录下来,不失为好工具.(网友shijunlian推荐)
http://nice.xmu.edu.cn/webpub/electron/
效率很高的晶体管资料搜索工具,试查了几个难找的,竟然都有,呀呸,哈哈,又添丁了拉
http://www.datasheetcatalog.com/index.html
德克萨斯芯片资料库(网友HIGHWAY提供)
根据IC的标记查找,输入IC上标记,如“VACC”在Part Mark前圆圈内点一下,再点LOOKUP按钮
根据IC上的型号查找,输入完整型号,如“TLV2211CDBVR”,在Device 前圆圈内点一下,再点LOOKUP按钮
http://focus.ti.com/general/docs/partmarking/partmarkinghome.jsp?
数据中心的器件资料比较齐全,可以免费任意查询和下载!(由网友betterpao推荐)
http://www.ieechina.com/Info/DCSearch.aspx?k=mc14433
送本书给你---新型通用集成电路实用技术(电子版) PDF格式共253页9.5M
http://www.ieechina.com/upload/books/XX.pdf
哈工大的精品课件-----电子技术网络课程
http://202.118.224.195/ftproot/% ... %E7%A8%8B/7/7-1.htm
这里有哈工大更多精品课程,教学录象...
http://202.118.224.195/
一本相当详尽的电阻,电容,电感样本,分立的,片状的都有,技术参数,特性曲线,规格范围...,pdf格式,37M,玩家必备(由网友康富贵提供)
http://www.torch.com.cn/product/index.htm
这里有常用电子元件基础知识,较完整
http://www.6sq.net/softdown/index.html
这里有较详细的设计资料(sch,pcb),堪称大菜园了拉
http://www.bydzw.com/lcdpage/lcdpage.htm
网上收集的一些有关超声波资料库,大多转换为pdf格式,请大家先下载目录
再确定是否要下载全文。
http://www.china-ultrasonic.net/down.htm
这里是总店
http://www.china-ultrasonic.net/inde1.htm
传感器大全
http://www.sensor-ic.com/
与灯具相关的光学基本知识,公开了一些有用的数据
http://www.songye.cc/html/ygdzhishi.htm
台湾IC厂商网址( 介绍了台湾一百多家集成厂商网址 )
http://www.guangdongdz.com/1information_channel/1_13.asp
寻找MOS管的好去处,可按P,N沟道及耐压大小检索到所需电流的管子
http://ec.irf.com/v6/en/US/adirect/ir?cmd=catNavigateFrame
这里可找到全系列的VMOS管及模块,价格稍贵
http://www.86372.com/dldz/V100.HTM
囊括了全部仪器仪表操怍手册及信息资料,有1400多份资供你下
http://www.5117.com/download.php?&page=133
这里有些标准资料(有关照明及安全的规范),需要的可参考一下,网上不多见的拉
http://lib.5izm.net/
http://www.imagegarden.net/bt/to ... f86812386475fa78c39
国外体系结构相关专业链接:
- http://www.cs.wisc.edu/~arch/uwarch/
- http://buffy.eecs.berkeley.edu/Research/CS/ARC/ Univ. of Wisconsin
Univ. of California, Berkeley
设计和学习资源链接:
- http://www.mdronline.com
- http://www.fpgacpu.org
- http://www.spacetimepro.com
- http://www.lauterbach.com/download.html
- http://www.teleport.com/~scd/
- http://www.idt.com/products/

Data Book 库
其他相关资源:
- http://www.intel.com/intel/intelis/museum
- http://www.intel.com/intel/museum/25anniv
- http://www.museums.reading.ac.uk/vmoc
- http://micro.magnet.fsu.edu/creatures/index.html

半导体博览
http://www.9itoy.com/bbs/
ARM相关:
http://www.eetop.com.cn/cgi-bin/forums.cgi?forum=18 ARM论坛
http://www.cnarm.com/ ARM开发网
http://www.armux.com/armbbs/board/index.asp
http://www.akaembed.org/Inetpub/nuke/ AkA Embedded(嵌入式)
http://www.embed.com.cn/ 嵌入开发网
http://www.zlgmcu.com/home.asp 周立功
http://www.developboard.com/index.asp 电子开发板信息网
http://www.arm9.net/ 友谊之臂
http://www.xlmcu.com 仙林电子
http://bbs.9itoy.com
www.szembed.com
http://www.techor.com/Index.asp技创科技
http://www.zlgmcu.com/home.asp
http://www.embedinfo.com/
PIC相关:
www.mcusun.com
高奇电子http://www.goldenchip.com.cn/
贝能科技http://www.burnons.com/
http://www.pic16.com/
A:
----------------------------------------------------------
B:
北极星电技术网:http://www.bjx.com.cn/
薄膜开关技术 :http://www.membraneswitch.org/
编程器制作网:http://www.89s51.com/
------------------------------------------------------------
C:
COB绑定技术:http://www.bonding-cob.com/
cpubbs: http://www.cpubbs.com
材料器件情报网:http://www.chinaime.com/
传感器世界:http://www.sensorworld.com.cn/
传感器资讯网:http://www.globalsensors.com.cn/
---------------------------------------------------------------
D:
电子技术:http://zt.jycom.cn/dzyj/dzsj.asp
电子电路网站:http://www.cndzz.com/
电子技术应用:http://www.aetnet.cn
电子产品世界:http://www.edw.com.cn
电子世界:http://www.eleworld.com/ls/htdocs/index.asp
电子元器件应用:http://www.chinaecd.net/
电子制作实验室:http://www.xie-gang.com/
电子爱好者:http://www.etuni.com/
电子爱好者社区:http://www.mcuwork.com/
电子元器件查询网:http://www.b2bic.com/
电子元器件采购网:http://www.ait.com.cn/
电子技术天地:http://www.dzjs.com/
电子制造:http://www.emchinamag.com/Cstmf/BCsy/index.asp
电子设计技术:http://www.ednchina.com/Cstmf/BCsy/index.asp
电子开发板信息网:http://www.developboard.com/
电子工程师:http://www.eebyte.com/
电子在线:http://www.ourchip.com/
电子之城:http://www.pp51.com/
电子无忧网:http://www.dz51.com/main.asp
电子DIY之家:http://www.2000ok.com/
电子信息资源网:http://www.lanyi.cn/
电气设计网:http://www.dqsj.com/
电气商情网:http://www.168dq.com/ThirdEdition/Index.asp
电路测试评判网:http://elotest.netme.cn/
电器评介:http://www.dqpj.com/
单片机制作信息网:http://doughty.512j.com/
单片机C语言:http://www.c51bbs.com/
单片机发烧友网:http://www.mcufans.com/
单片机坐标:http://www.mcuzb.com/
单片机王国:http://www.21mcu.com/
单片机启点网:http://www.mcu99.com/
-----------------------------------------------------------------
E:
EDA学习网:http://eda.sdedu.net/
21世纪新锐:http://www.21xr.com/
-----------------------------------------------------------------
F:
----------------------------------------------------------------
G:
国外电子元器件:http://www.56789.com
国际光电与显示:http://www.display2000.com/
广州电子技术网:http://gzdzw.51.net/
广播发烧友:http://bcl.myetoys.com/
高奇电子:http://www.goldenchip.com.cn/index.asp
够数码:http://www.godigi.net/indexs.asp
-----------------------------------------------------------------
H:
华程电子:http://www.21ele.com/
火腿网:http://hamcq.vicp.net/
HC360:http://www.electric.hc360.com/
-----------------------------------------------------------------
I:
IC13交易网:http://www.ic13.com/
IC易拍网:http://www.chipbid.com/
IC在线网:http://www.e-ic.cn/
-----------------------------------------------------------------
J:
集成电路产业网:http://www.gotoic.com/
精诚电子设计:http://www.fjmcu.com/
机器人制作:http://www.luojz.net/main.asp
家电联盟(很多连接):http://www.jdunion.com/links.asp
利尔达单片机:http://www.lierda.com/
------------------------------------------------------------------
K:
开发田地:http://www.mcusky.com/
开发板之家:http://www.study-kit.com/index.asp
可控硅应用技术网:http://www.hz-qj.com/kkgw/
------------------------------------------------------------------
L:
61IC中国电子在线:http://www.61ic.com/
龙图开发网:http://www.longtoo.com/
老古开发网:http://www.laogu.com/
LCD在线:http://www.lcdinline.com/
LCDfans: http://www.lcdfans.com/
01单片机:http://www.01mcu.com/main.htm
-----------------------------------------------------------------
M:
MCU163:http://www.mcu163.com/
IMP3数码影音:http://www.imp3.net/
MP3秀:http://www.mp3show.cn/
MP3:http://www.megadiy.com/
美河学习在线:http://www.eimhe.com/index.php
------------------------------------------------------------------
N:
牛哥土炮发烧:http://www.ngtop.com/
------------------------------------------------------------------
O:
OLED网:http://www.oled.net.cn/
--------------------------------------------------------------------
P:
PCB技术网:http://www.pcbtech.net/index.asp
PIC单片机学习网:http://www.pic16.com/
PLD:http://www.fpga.com.cn/
平板显示吧:http://www.fpdweb.com/

-------------------------------------------------------------------
Q:
汽车电子世界网:http://www.aenmag.com/
嵌入开发网:http://www.embed.com.cn/
嵌入式世界:http://www.embedworld.com/index.asp
嵌入式联盟:http://www.51emb.com/
驱动开发网:http://www.driverdevelop.com/index.php
清风单片机:http://www.qfmcu.com/
全球半导体器件采购网:http://www.tr114.com/
------------------------------------------------------------------
R:
-----------------------------------------------------------------
S:
三毛电子世界:http://www.mculib.com/
SMT信息网:http://www.smt.cn/
世界液晶咨询网:http://www.worldtft.com/pro-asp/index.asp
收音机人:http://www.cnradior.com/article/index2.asp
骚客网络(MP3): http://www.saoren.com/
数码中国:http://www.digichina.cn/
数码专家小组:http://www.easydigi.com/
世纪开发网:http://www.21hf.com/
视听研究所:http://www.avresearcher.com/
上海硅知识产权交易中心:http://www.ssipex.com.cn/
--------------------------------------------------------------------
T:
通信时代:http://www.comm9.com/
通信世界:http://www.tele.com.cn/
通信世界网:http://www.cww.net.cn/
调频天空:http://www.fmdiy.com/
调频酷站:http://www.fmku.com/
钛金科技:http://www.tiking.com/
--------------------------------------------------------------------
U:
USB开发网:http://www.usbing.net/
usb之家:http://www.usbfans.com/
---------------------------------------------------------------------
V:
---------------------------------------------------------------------
W:
51单片机世界:http://www.mcu51.com/
51耳机网:http://www.51erji.com/
无线电杂志:http://www.radio.com.cn/
无线电子:http://win2000server.vicp.net:88/
无限电子制作:http://www.wxdzz.com/
我们的AVR:http://61.144.28.248/ouravr/index.html
我爱单片机:http://will009.myrice.com/
网博电源网:http://www.wb-power.com/
微控地带:http://www.eastdo.com/apple/index.asp
微系统论坛:http://www.hwswworld.com/
----------------------------------------------------------------------
X:
新材料产业网:http://www.materials.net.cn/
鑫都电子网:http://maxuefeng.nease.net/
学单片机:http://www.51c51.com/
西部电子网:http://www.ximeda.com/
晓奇工作室:http://www.xiao-qi.com/
迅特科技:http://www.chinadsp.com/
---------------------------------------------------------------------
Y:
硬件工程师之家:http://www.3721it.com/
仪器信息网:http://www.instrument.com.cn/
亿道电子: http://www.emdoor.com/index.asp
一学网:http://www.onestudy.net/
遥控网:http://www.rf315.com/
----------------------------------------------------------------------
Z:
自动化论坛:http://www.ca800.com/bbs/
中国DSP联盟:http://202.101.35.127/shengwq/dsp/
中国专利技术网:http://www.zlfm.com/
中国单片机世界:http://www.mcuw.com/
中国半导体行业网:http://www.csia.net.cn/
中国电子技术网:http://www.86et.com/
中电网:http://www.chinaecnet.com
中国电子报:http://www.cena.com.cn
中国电子行业投资信息网:http://www.ceiinet.gov.cn/default.asp
中国通信信息网:http://www.cnii.com.cn/
中国通信电源情报网:http://www.b2bic.com/default.aspx
中国元器件在线:http://www.ieechina.com/
中国集成电路杂志网:http://www.cicmag.com/
中国IC网:http://www.ic37.com/
中原电子:http://www.ccelec.com/
中国工控信息网:http://www.7613.com/
中国工业电器网:http://eleccn.net/
中日液晶网:http://www.yj-lcd.com/main.php
中华液晶网:http://cn.fpdisplay.com/
中国触摸屏网:http://www.51touch.com/
中国汽车影音网:http://www.carcav.com/
中国电子DIY:http://www.prcdiy.com
中国通信论坛:http://www.cntx.cn/
中国国防电子网:http://www.gfang.cn/
中国电源行业资讯网:http://www.cpsa.com.cn/index/index.asp
中国电源网:http://www.china-power.net/
中国电力信息港:http://www.chinesesc.com/
中国智能水表网:http://www.watermeter.cn/watermeter/Index.asp
中国EDA技术网:http://www.51eda.com/
中国软硬件结合技术网:http://www.91tech.net/
中国自动化网:http://www.automation.com.cn/
中国分析仪器网:http://www.54pc.com/
中国机械信息网:http://www.machineinfo.com/
中国机电企业网:http://www.eecce.com/
中国电池在线:http://www.chinabatteryonline.com/
中国家电维修网:http://www.3811111.com/
专业电脑电子书店:http://www.netyi.net/
智能卡资讯:http://info.cardease.net/index.asp
照明藏金阁:http://lib.5izm.net/
------------------------------------------------------------------
高频电路技术:
盛盈射频:http://www.morerfid.com.cn/
射频网:http://www.21rf.com
=========================================================================
常去的电子论坛:
单片机大侠论坛:http://www.daxia.com/bbs/find.asp?type=0
http://www.c51bbs.com/c51bbs/find.asp
21icbbs: http://www.21icbbs.com(热)
pcb技术网:http://www.pcbbbs.com(热)
FPGA论坛: http://www.edacn.net/cgi-bin/leoboard.cgi(热)
61IC社区(DSP用):http://www.61ic.com/bbs/index.asp(热)
嵌入式论坛:http://bbs.edw.com.cn
=========================================================================
产品品质论坛:http://bbs.6sq.net
中国电器论坛:http://www.eleccn.com/bbs/
单片机论坛:http://www.laogu.com/laogubbs/
中国电子顶级开发网论坛:http://www.eetop.com.cn/cgi-bin/leoboard.cgi
SMT技术论坛:http://bbs.smt.cn

电磁兼容论坛:http://www.emcchina.net

老古开发网:http://www.laogu.com/laogubbs/index.asp
中华安防论坛:http://www.cpsbbs.com/
防雷技术论坛:http://www.lightning.com.cn/bbs/
ZG电力自动化:http://www.zgepsa.com/
电工之家:http://www.dgzj.cn/dgbbs/
中国通信论坛:http://www.cntx.cn/lt/index.asp
中国工业电器论坛:http://bbs.cnelc.com/index.asp
中国电力社区:http://www.powerclub.cn/2005/bbs/
质诚中国:http://club.qschina.com/
中国电磁兼容性技术论坛:http://www.emcchina.net/
可靠性论坛:http://www.chinarel.com/bbs/
工控论坛:http://www.gktd.com/index.asp
单片机大侠论坛:http://www.mcu51.com/bbs/find.asp(热)
视觉论坛:http://www.china-vision.net/bbs/index.asp
数字电视论坛:http://www.dvbcn.com/bbs/
千家论坛:http://www.1000bbs.com/(热)
中国广电论坛:http://www.rtvmaster.com/
流媒体世界:http://liumeiti.org/forum/
USB开发论坛:http://www.usbing.net/bbs/Boards.asp
驱动开发论坛:http://www.driverdevelop.com/forum/index.php
综合电子论坛:http://www.avrw.com/bbs/
液晶之友:http://www.lcdfriends.com/
液晶之家:http://www.fpdclub.net/
中国汽车影音网论坛:http://www.carcav.com/bbs/(热)
51耳机论坛:http://www.51erji.com/bbs/index.asp(热)
高奇论坛:http://www.goldenchip.com.cn/gdbbs/index.asp(PIC)
利尔达单片机论坛:http://www.lierda.com/bbs/
智能卡论坛:http://bbs.cardease.net/index.asp
水晶论坛:http://bbs.downsurf.com/index.asp(软件下载)
zoglab: http://bbs.zoglab.com/index.php
网上读书园地:http://www.readfree.net/bbs/index.php


系统分类: 消费电子
用户分类: 电路设计
标签: 无标签
来源: 整理
发表评论 阅读全文(185) | 回复(0)

0

关于投票
S3C2410中文资料
系统分类: 嵌入式
用户分类: 嵌入式
标签: 无标签
来源: 转贴
发表评论 阅读全文(74) | 回复(0)

0

关于投票
嵌入式下的C语言细节问题

最近一直在用vc++6.0做c编程练习。可能笔者是新手,以前用tubor c的时候没注意到,在写完main()函数后,如果出现错误的话必定包含下面一句话warning C4508: 'main' : function should return a value; 'void' return type assumed,Error executing cl.exe.但是没有错误的时候是不会出现的很奇怪。

后来发现是少了一句return 0.因为在tc中从来不需要再main函数后加return,因此笔者又上网查询资料return 的用法,最后从一个名为“剑在上海”的blog里发现,本来想自己叙述的却发现语言没有人家的流畅还是原文摘录吧呵呵:

我一直以为C/C++的main(C#是Main)和C#一样可以void/int
但C/C++中void main()是错误的
C中可以用main(),因为C把这个当成int main() //C把int当作默认类型,而()表示接受任何参数。C的标准写法是int main(void),这个void显式地说明函数不接受任何参数
C++只好是写int main()了 //C++中int不是默认类型,()表示不接受任何参数
很多书中都写出了void main(),真是害人不浅(尤其是出现于广大校园中的老潭的书)
c:
main(),int main(),main(void)//C89可用
int main(void) //标准
{.........
return 0; //部分编译器自动加上
}
c++:
int main() //标准
{.........
return 0; //部分编译器自动加上
}

关于C语言中return的一些总结

return是C++预定义的语句,它提供了种植函数执行的一种放大。当return语句提供了一个值时,这个值就成为函数的返回值.
也有这样的,return;不返回值,直接退出函数
void xx()
{…………
return;
}
说到return,有必要提及主函数的定义,下面是从网络上找到的资料,好好消化吧,对了解主函数中返回值的理解有很大的帮助.


很多人甚至市面上的一些书籍,都使用了void main( ) ,其实这是错误的。C/C++ 中从来没有定义过void main( ) 。

C++ 之父 Bjarne Stroustrup 在他的主页上的 FAQ 中明确地写着 The definition void main( ) { /*... */ } is not and never has been C++, nor has it even been C. ( void main( ) 从来就不存在于 C++ 或者 C )。
下面我分别说一下 C 和 C++ 标准中对 main 函数的定义。

  • “The C programming Language(《C 程序设计语言》)用的就是 main( )。”--- 这是因为第一版的C语言只有一种类型,那就是int,没有char,没有long,没有float,…………既然只有一种类型,那么就可以不写,后来的改进版为了兼容以前的代码于是规定:不明确标明返回值的,默认返回值为int,也就是说 main()等同于intmain(),而不是等同于void main()。在C99中,标准要求编译器至少给 main() 这种用法来个警告。


 

  • 一般来讲在C里可以写"main()",这是因为C把int当作默认类型,凡是没给类型的都当作int。如果你在C里声明一个变量,比如“i”,然后没给类型说明符,那么编译器会把它当int类型。


 

  • C++就不这么干了,尤其是标准的C++,就不把int当作默认类型,所以写main函数的时候,你要写明是int类型


 

  • 另外一点值得一提的是main后面的这个括号“()”,他在C++里面表示不接受任何参数,而在C里面则表示接受任何参数在C里,不接受任何参数,一般指明void。所以,在C里,main函数的声明,可以是“int main(void)”。



1、C

在 C89 中,main( ) 是可以接受的。Brian W. Kernighan 和 Dennis M. Ritchie 的经典巨著 The C programming Language 2e(《C 程序设计语言第二版》)用的就是 main( )。不过在最新的 C99 标准中,只有以下两种定义方式是正确的:
int main( void )
int main( int argc, char *argv[] )
(参考资料:ISO/IEC 9899:1999 (E) Programming languages — C 5.1.2.2.1Program startup)

当然,我们也可以做一点小小的改动。例如:char *argv[] 可以写成 char **argv;argv 和argc 可以改成别的变量名(如 intval 和charval),不过一定要符合变量的命名规则。

如果不需要从命令行中获取参数,请用int main(void) ;否则请用int main( int argc, char *argv[] ) 。
main 函数的返回值类型必须是 int ,这样返回值才能传递给程序的激活者(如操作系统)。

如果 main 函数的最后没有写 return 语句的话,C99 规定编译器要自动在生成的目标文件中(如 exe 文件)加入return 0; ,表示程序正常退出。不过,我还是建议你最好在main函数的最后加上return 语句,虽然没有这个必要,但这是一个好的习惯。注意,vc6不会在目标文件中加入 return 0; ,大概是因为 vc6 是 98 年的产品,所以才不支持这个特性。现在明白我为什么建议你最好加上 return 语句了吧!不过,gcc3.2(Linux 下的 C 编译器)会在生成的目标文件中加入 return 0; 。

2、C++

C++98 中定义了如下两种 main 函数的定义方式:
int main( )
int main( int argc, char *argv[] )
(参考资料:ISO/IEC 14882(1998-9-01)Programminglanguages — C++ 3.6 Start and termination)

int main( ) 等同于 C99 中的 intmain( void ) ;int main( int argc, char *argv[] ) 的用法也和 C99 中定义的一样。同样, main 函数的返回值类型也必须是int。如果main函数的末尾没写return语句,C++98 规定编译器要自动在生成的目标文件中加入 return 0; 。同样,vc6 也不支持这个特性,但是 g++3.2(Linux 下的 C++ 编译器)支持。

3、关于void main

在 C 和 C++ 中,不接收任何参数也不返回任何信息的函数原型为“void foo(void);”。可能正是因为这个,所以很多人都误认为如果不需要程序返回值时可以把main函数定义成void main(void) 。
然而这是错误的!main 函数的返回值应该定义为 int 类型,C 和 C++ 标准中都是这样规定的。虽然在一些编译器中,void main 可以通过编译(如 vc6),但并非所有编译器都支持 void main ,因为标准中从来没有定义过 void main 。g++3.2 中如果 main 函数的返回值不是 int 类型,就根本通 不过编译。而 gcc3.2 则会发出警告。所以,如果你想你的程序拥有很好的可移植性,请一定要用 int main 。

4、返回值的作用

main 函数的返回值用于说明程序的退出状态。如果返回0,则代表程序正常退出,否则代表程序异常退出。下面我们在 winxp 环境下做一个小实验。首先编译下面的程序:
int main( void )
{
return 0;
}

然后打开附件里的“命令提示符”,在命令行里运行刚才编译好的可执行文件,然后输入“echo %ERRORLEVEL%”,回车,就可以看到程序的返回 值为 0 。假设刚才编译好的文件是 a.exe ,如果输入“a && dir”,则会列出当前目录下的文件夹和文件。但是如果改成 “return -1”,或者别的非 0 值,重新编译后输入“a && dir”,则 dir 不会执行。因为 && 的含义是:如果 && 前面的程序正常退出,则继续执行 && 后面的程序,否则不执行。也就是说,利用程序的返回值,我们可以控制要不要执行下一个程序。这就是 int main 的好处。如果你有兴趣,也可以把 main 函数的返回值类型改成非 int 类型(如 float),重新编译后执行“a && dir”,看看会出现什么情况,想想为什么会出现那样的情况。顺便提一下,如果输入 a || dir 的话,则表示如果 a 异常退出,则执行 dir 。

5、那么 intmain(intargc,char*argv[],char*envp[])呢?

这当然也不是标准 C 里面定义的东西!char*envp[] 是某些编译器提供的扩展功能,用于获取系统的环境变量。因为不是标准,所以并非所有编译器都支持,故而移植性差,不推荐使用。

到了这里,你应该了解为什么主函数定义为 int返回类型,而且函数体里面有return 0;这个语句了吧.
下面具体说说我对return的应用的理解。

只要一个函数的返回值是数字型的,那么就可以返回0(即return 0),其实你返回多少都没问题。一般情况下,C++做出来的函数都要求返回一个值,当函数执行正常,且达到了一般情况下的目的,那么就返回0表示正确的调 用了该函数,这个0就是返回给主调函数以通知没有出错的;如果函数调用中出错,或者没有按照一般情况执行,那么就返回1,以告知主调函数采取响应策略;如 果你在某个函数所在类的定义所在的头文件中定义了一组状态值(一般都是负整数),那么函数就可以返回不同的值以告之主调函数具体发生了什么异常或错误,这种情况一般用于函数功能独立性较差的的情况。所以一般不鼓励把函数返回类型定义为void,至少返回应该是int,而在函数的最后加上return 0.语句:
int func(参数列表)
{
……
……
……
Return 0;
}

在函数中,如果碰到return 语句,那么程序就会返回调用该函数的下一条语句执行,也就是说跳出函数的执行,回到原来的地方继续执行下去。但是如果是在主函数中碰到return语句,那么整个程序就会停止,退出程序的执行。
如果你定义一个函数有返回类型,可以想下面那样调用:
int func()
{
int value;
……
……
……
return value;
}
int main()
{
int intvalue;
intvalue=func();
……
……
return 0;
}

return语句后面具体是什么内容,这就要具体情况具体分析了:

(1) 在返回类型是char的函数中,return后应该是char类型的值;
(2)在返回类型是int的函数中,如果是要停止函数的调用,最好应该为0;其他的按照你的目的而定,只要是int 类型就行了
(3)在返回类型是结构类型的函数中,return后应该是结构的一个实例对象。

总之,函数定义为什么样的返回类型,该函数中return后就应该是相应类型的值。

有好的意见大家交流,通过这件事我就是想说编程中的小细节,通过对小细节的追根究底可以让自己提高尤其是刚刚脱离课本的新手来说。最起码我现在对return的认识比以前加深了

系统分类: 嵌入式
用户分类: 程序设计园
标签: 无标签
来源: 转贴
发表评论 阅读全文(143) | 回复(0)

0

关于投票
嵌入式下的C语言细节问题

最近一直在用vc++6.0做c编程练习。可能笔者是新手,以前用tubor c的时候没注意到,在写完main()函数后,如果出现错误的话必定包含下面一句话warning C4508: 'main' : function should return a value; 'void' return type assumed,Error executing cl.exe.但是没有错误的时候是不会出现的很奇怪。

后来发现是少了一句return 0.因为在tc中从来不需要再main函数后加return,因此笔者又上网查询资料return 的用法,最后从一个名为“剑在上海”的blog里发现,本来想自己叙述的却发现语言没有人家的流畅还是原文摘录吧呵呵:

我一直以为C/C++的main(C#是Main)和C#一样可以void/int
但C/C++中void main()是错误的
C中可以用main(),因为C把这个当成int main() //C把int当作默认类型,而()表示接受任何参数。C的标准写法是int main(void),这个void显式地说明函数不接受任何参数
C++只好是写int main()了 //C++中int不是默认类型,()表示不接受任何参数
很多书中都写出了void main(),真是害人不浅(尤其是出现于广大校园中的老潭的书)
c:
main(),int main(),main(void)//C89可用
int main(void) //标准
{.........
return 0; //部分编译器自动加上
}
c++:
int main() //标准
{.........
return 0; //部分编译器自动加上
}

关于C语言中return的一些总结

return是C++预定义的语句,它提供了种植函数执行的一种放大。当return语句提供了一个值时,这个值就成为函数的返回值.
也有这样的,return;不返回值,直接退出函数
void xx()
{…………
return;
}
说到return,有必要提及主函数的定义,下面是从网络上找到的资料,好好消化吧,对了解主函数中返回值的理解有很大的帮助.


很多人甚至市面上的一些书籍,都使用了void main( ) ,其实这是错误的。C/C++ 中从来没有定义过void main( ) 。

C++ 之父 Bjarne Stroustrup 在他的主页上的 FAQ 中明确地写着 The definition void main( ) { /*... */ } is not and never has been C++, nor has it even been C. ( void main( ) 从来就不存在于 C++ 或者 C )。
下面我分别说一下 C 和 C++ 标准中对 main 函数的定义。

  • “The C programming Language(《C 程序设计语言》)用的就是 main( )。”--- 这是因为第一版的C语言只有一种类型,那就是int,没有char,没有long,没有float,…………既然只有一种类型,那么就可以不写,后来的改进版为了兼容以前的代码于是规定:不明确标明返回值的,默认返回值为int,也就是说 main()等同于intmain(),而不是等同于void main()。在C99中,标准要求编译器至少给 main() 这种用法来个警告。


 

  • 一般来讲在C里可以写"main()",这是因为C把int当作默认类型,凡是没给类型的都当作int。如果你在C里声明一个变量,比如“i”,然后没给类型说明符,那么编译器会把它当int类型。


 

  • C++就不这么干了,尤其是标准的C++,就不把int当作默认类型,所以写main函数的时候,你要写明是int类型


 

  • 另外一点值得一提的是main后面的这个括号“()”,他在C++里面表示不接受任何参数,而在C里面则表示接受任何参数在C里,不接受任何参数,一般指明void。所以,在C里,main函数的声明,可以是“int main(void)”。



1、C

在 C89 中,main( ) 是可以接受的。Brian W. Kernighan 和 Dennis M. Ritchie 的经典巨著 The C programming Language 2e(《C 程序设计语言第二版》)用的就是 main( )。不过在最新的 C99 标准中,只有以下两种定义方式是正确的:
int main( void )
int main( int argc, char *argv[] )
(参考资料:ISO/IEC 9899:1999 (E) Programming languages — C 5.1.2.2.1Program startup)

当然,我们也可以做一点小小的改动。例如:char *argv[] 可以写成 char **argv;argv 和argc 可以改成别的变量名(如 intval 和charval),不过一定要符合变量的命名规则。

如果不需要从命令行中获取参数,请用int main(void) ;否则请用int main( int argc, char *argv[] ) 。
main 函数的返回值类型必须是 int ,这样返回值才能传递给程序的激活者(如操作系统)。

如果 main 函数的最后没有写 return 语句的话,C99 规定编译器要自动在生成的目标文件中(如 exe 文件)加入return 0; ,表示程序正常退出。不过,我还是建议你最好在main函数的最后加上return 语句,虽然没有这个必要,但这是一个好的习惯。注意,vc6不会在目标文件中加入 return 0; ,大概是因为 vc6 是 98 年的产品,所以才不支持这个特性。现在明白我为什么建议你最好加上 return 语句了吧!不过,gcc3.2(Linux 下的 C 编译器)会在生成的目标文件中加入 return 0; 。

2、C++

C++98 中定义了如下两种 main 函数的定义方式:
int main( )
int main( int argc, char *argv[] )
(参考资料:ISO/IEC 14882(1998-9-01)Programminglanguages — C++ 3.6 Start and termination)

int main( ) 等同于 C99 中的 intmain( void ) ;int main( int argc, char *argv[] ) 的用法也和 C99 中定义的一样。同样, main 函数的返回值类型也必须是int。如果main函数的末尾没写return语句,C++98 规定编译器要自动在生成的目标文件中加入 return 0; 。同样,vc6 也不支持这个特性,但是 g++3.2(Linux 下的 C++ 编译器)支持。

3、关于void main

在 C 和 C++ 中,不接收任何参数也不返回任何信息的函数原型为“void foo(void);”。可能正是因为这个,所以很多人都误认为如果不需要程序返回值时可以把main函数定义成void main(void) 。
然而这是错误的!main 函数的返回值应该定义为 int 类型,C 和 C++ 标准中都是这样规定的。虽然在一些编译器中,void main 可以通过编译(如 vc6),但并非所有编译器都支持 void main ,因为标准中从来没有定义过 void main 。g++3.2 中如果 main 函数的返回值不是 int 类型,就根本通 不过编译。而 gcc3.2 则会发出警告。所以,如果你想你的程序拥有很好的可移植性,请一定要用 int main 。

4、返回值的作用

main 函数的返回值用于说明程序的退出状态。如果返回0,则代表程序正常退出,否则代表程序异常退出。下面我们在 winxp 环境下做一个小实验。首先编译下面的程序:
int main( void )
{
return 0;
}

然后打开附件里的“命令提示符”,在命令行里运行刚才编译好的可执行文件,然后输入“echo %ERRORLEVEL%”,回车,就可以看到程序的返回 值为 0 。假设刚才编译好的文件是 a.exe ,如果输入“a && dir”,则会列出当前目录下的文件夹和文件。但是如果改成 “return -1”,或者别的非 0 值,重新编译后输入“a && dir”,则 dir 不会执行。因为 && 的含义是:如果 && 前面的程序正常退出,则继续执行 && 后面的程序,否则不执行。也就是说,利用程序的返回值,我们可以控制要不要执行下一个程序。这就是 int main 的好处。如果你有兴趣,也可以把 main 函数的返回值类型改成非 int 类型(如 float),重新编译后执行“a && dir”,看看会出现什么情况,想想为什么会出现那样的情况。顺便提一下,如果输入 a || dir 的话,则表示如果 a 异常退出,则执行 dir 。

5、那么 intmain(intargc,char*argv[],char*envp[])呢?

这当然也不是标准 C 里面定义的东西!char*envp[] 是某些编译器提供的扩展功能,用于获取系统的环境变量。因为不是标准,所以并非所有编译器都支持,故而移植性差,不推荐使用。

到了这里,你应该了解为什么主函数定义为 int返回类型,而且函数体里面有return 0;这个语句了吧.
下面具体说说我对return的应用的理解。

只要一个函数的返回值是数字型的,那么就可以返回0(即return 0),其实你返回多少都没问题。一般情况下,C++做出来的函数都要求返回一个值,当函数执行正常,且达到了一般情况下的目的,那么就返回0表示正确的调 用了该函数,这个0就是返回给主调函数以通知没有出错的;如果函数调用中出错,或者没有按照一般情况执行,那么就返回1,以告知主调函数采取响应策略;如 果你在某个函数所在类的定义所在的头文件中定义了一组状态值(一般都是负整数),那么函数就可以返回不同的值以告之主调函数具体发生了什么异常或错误,这种情况一般用于函数功能独立性较差的的情况。所以一般不鼓励把函数返回类型定义为void,至少返回应该是int,而在函数的最后加上return 0.语句:
int func(参数列表)
{
……
……
……
Return 0;
}

在函数中,如果碰到return 语句,那么程序就会返回调用该函数的下一条语句执行,也就是说跳出函数的执行,回到原来的地方继续执行下去。但是如果是在主函数中碰到return语句,那么整个程序就会停止,退出程序的执行。
如果你定义一个函数有返回类型,可以想下面那样调用:
int func()
{
int value;
……
……
……
return value;
}
int main()
{
int intvalue;
intvalue=func();
……
……
return 0;
}

return语句后面具体是什么内容,这就要具体情况具体分析了:

(1) 在返回类型是char的函数中,return后应该是char类型的值;
(2)在返回类型是int的函数中,如果是要停止函数的调用,最好应该为0;其他的按照你的目的而定,只要是int 类型就行了
(3)在返回类型是结构类型的函数中,return后应该是结构的一个实例对象。

总之,函数定义为什么样的返回类型,该函数中return后就应该是相应类型的值。

有好的意见大家交流,通过这件事我就是想说编程中的小细节,通过对小细节的追根究底可以让自己提高尤其是刚刚脱离课本的新手来说。最起码我现在对return的认识比以前加深了

系统分类: 嵌入式
用户分类: 程序设计园
标签: 无标签
来源: 转贴
发表评论 阅读全文(121) | 回复(0)

1

关于投票
嵌入式下的C语言细节问题

最近一直在用vc++6.0做c编程练习。可能笔者是新手,以前用tubor c的时候没注意到,在写完main()函数后,如果出现错误的话必定包含下面一句话warning C4508: 'main' : function should return a value; 'void' return type assumed,Error executing cl.exe.但是没有错误的时候是不会出现的很奇怪。

后来发现是少了一句return 0.因为在tc中从来不需要再main函数后加return,因此笔者又上网查询资料return 的用法,最后从一个名为“剑在上海”的blog里发现,本来想自己叙述的却发现语言没有人家的流畅还是原文摘录吧呵呵:

我一直以为C/C++的main(C#是Main)和C#一样可以void/int
但C/C++中void main()是错误的
C中可以用main(),因为C把这个当成int main() //C把int当作默认类型,而()表示接受任何参数。C的标准写法是int main(void),这个void显式地说明函数不接受任何参数
C++只好是写int main()了 //C++中int不是默认类型,()表示不接受任何参数
很多书中都写出了void main(),真是害人不浅(尤其是出现于广大校园中的老潭的书)
c:
main(),int main(),main(void)//C89可用
int main(void) //标准
{.........
return 0; //部分编译器自动加上
}
c++:
int main() //标准
{.........
return 0; //部分编译器自动加上
}

关于C语言中return的一些总结

return是C++预定义的语句,它提供了种植函数执行的一种放大。当return语句提供了一个值时,这个值就成为函数的返回值.
也有这样的,return;不返回值,直接退出函数
void xx()
{…………
return;
}
说到return,有必要提及主函数的定义,下面是从网络上找到的资料,好好消化吧,对了解主函数中返回值的理解有很大的帮助.


很多人甚至市面上的一些书籍,都使用了void main( ) ,其实这是错误的。C/C++ 中从来没有定义过void main( ) 。

C++ 之父 Bjarne Stroustrup 在他的主页上的 FAQ 中明确地写着 The definition void main( ) { /*... */ } is not and never has been C++, nor has it even been C. ( void main( ) 从来就不存在于 C++ 或者 C )。
下面我分别说一下 C 和 C++ 标准中对 main 函数的定义。

  • “The C programming Language(《C 程序设计语言》)用的就是 main( )。”--- 这是因为第一版的C语言只有一种类型,那就是int,没有char,没有long,没有float,…………既然只有一种类型,那么就可以不写,后来的改进版为了兼容以前的代码于是规定:不明确标明返回值的,默认返回值为int,也就是说 main()等同于intmain(),而不是等同于void main()。在C99中,标准要求编译器至少给 main() 这种用法来个警告。


 

  • 一般来讲在C里可以写"main()",这是因为C把int当作默认类型,凡是没给类型的都当作int。如果你在C里声明一个变量,比如“i”,然后没给类型说明符,那么编译器会把它当int类型。


 

  • C++就不这么干了,尤其是标准的C++,就不把int当作默认类型,所以写main函数的时候,你要写明是int类型


 

  • 另外一点值得一提的是main后面的这个括号“()”,他在C++里面表示不接受任何参数,而在C里面则表示接受任何参数在C里,不接受任何参数,一般指明void。所以,在C里,main函数的声明,可以是“int main(void)”。



1、C

在 C89 中,main( ) 是可以接受的。Brian W. Kernighan 和 Dennis M. Ritchie 的经典巨著 The C programming Language 2e(《C 程序设计语言第二版》)用的就是 main( )。不过在最新的 C99 标准中,只有以下两种定义方式是正确的:
int main( void )
int main( int argc, char *argv[] )
(参考资料:ISO/IEC 9899:1999 (E) Programming languages — C 5.1.2.2.1Program startup)

当然,我们也可以做一点小小的改动。例如:char *argv[] 可以写成 char **argv;argv 和argc 可以改成别的变量名(如 intval 和charval),不过一定要符合变量的命名规则。

如果不需要从命令行中获取参数,请用int main(void) ;否则请用int main( int argc, char *argv[] ) 。
main 函数的返回值类型必须是 int ,这样返回值才能传递给程序的激活者(如操作系统)。

如果 main 函数的最后没有写 return 语句的话,C99 规定编译器要自动在生成的目标文件中(如 exe 文件)加入return 0; ,表示程序正常退出。不过,我还是建议你最好在main函数的最后加上return 语句,虽然没有这个必要,但这是一个好的习惯。注意,vc6不会在目标文件中加入 return 0; ,大概是因为 vc6 是 98 年的产品,所以才不支持这个特性。现在明白我为什么建议你最好加上 return 语句了吧!不过,gcc3.2(Linux 下的 C 编译器)会在生成的目标文件中加入 return 0; 。

2、C++

C++98 中定义了如下两种 main 函数的定义方式:
int main( )
int main( int argc, char *argv[] )
(参考资料:ISO/IEC 14882(1998-9-01)Programminglanguages — C++ 3.6 Start and termination)

int main( ) 等同于 C99 中的 intmain( void ) ;int main( int argc, char *argv[] ) 的用法也和 C99 中定义的一样。同样, main 函数的返回值类型也必须是int。如果main函数的末尾没写return语句,C++98 规定编译器要自动在生成的目标文件中加入 return 0; 。同样,vc6 也不支持这个特性,但是 g++3.2(Linux 下的 C++ 编译器)支持。

3、关于void main

在 C 和 C++ 中,不接收任何参数也不返回任何信息的函数原型为“void foo(void);”。可能正是因为这个,所以很多人都误认为如果不需要程序返回值时可以把main函数定义成void main(void) 。
然而这是错误的!main 函数的返回值应该定义为 int 类型,C 和 C++ 标准中都是这样规定的。虽然在一些编译器中,void main 可以通过编译(如 vc6),但并非所有编译器都支持 void main ,因为标准中从来没有定义过 void main 。g++3.2 中如果 main 函数的返回值不是 int 类型,就根本通 不过编译。而 gcc3.2 则会发出警告。所以,如果你想你的程序拥有很好的可移植性,请一定要用 int main 。

4、返回值的作用

main 函数的返回值用于说明程序的退出状态。如果返回0,则代表程序正常退出,否则代表程序异常退出。下面我们在 winxp 环境下做一个小实验。首先编译下面的程序:
int main( void )
{
return 0;
}

然后打开附件里的“命令提示符”,在命令行里运行刚才编译好的可执行文件,然后输入“echo %ERRORLEVEL%”,回车,就可以看到程序的返回 值为 0 。假设刚才编译好的文件是 a.exe ,如果输入“a && dir”,则会列出当前目录下的文件夹和文件。但是如果改成 “return -1”,或者别的非 0 值,重新编译后输入“a && dir”,则 dir 不会执行。因为 && 的含义是:如果 && 前面的程序正常退出,则继续执行 && 后面的程序,否则不执行。也就是说,利用程序的返回值,我们可以控制要不要执行下一个程序。这就是 int main 的好处。如果你有兴趣,也可以把 main 函数的返回值类型改成非 int 类型(如 float),重新编译后执行“a && dir”,看看会出现什么情况,想想为什么会出现那样的情况。顺便提一下,如果输入 a || dir 的话,则表示如果 a 异常退出,则执行 dir 。

5、那么 intmain(intargc,char*argv[],char*envp[])呢?

这当然也不是标准 C 里面定义的东西!char*envp[] 是某些编译器提供的扩展功能,用于获取系统的环境变量。因为不是标准,所以并非所有编译器都支持,故而移植性差,不推荐使用。

到了这里,你应该了解为什么主函数定义为 int返回类型,而且函数体里面有return 0;这个语句了吧.
下面具体说说我对return的应用的理解。

只要一个函数的返回值是数字型的,那么就可以返回0(即return 0),其实你返回多少都没问题。一般情况下,C++做出来的函数都要求返回一个值,当函数执行正常,且达到了一般情况下的目的,那么就返回0表示正确的调 用了该函数,这个0就是返回给主调函数以通知没有出错的;如果函数调用中出错,或者没有按照一般情况执行,那么就返回1,以告知主调函数采取响应策略;如 果你在某个函数所在类的定义所在的头文件中定义了一组状态值(一般都是负整数),那么函数就可以返回不同的值以告之主调函数具体发生了什么异常或错误,这种情况一般用于函数功能独立性较差的的情况。所以一般不鼓励把函数返回类型定义为void,至少返回应该是int,而在函数的最后加上return 0.语句:
int func(参数列表)
{
……
……
……
Return 0;
}

在函数中,如果碰到return 语句,那么程序就会返回调用该函数的下一条语句执行,也就是说跳出函数的执行,回到原来的地方继续执行下去。但是如果是在主函数中碰到return语句,那么整个程序就会停止,退出程序的执行。
如果你定义一个函数有返回类型,可以想下面那样调用:
int func()
{
int value;
……
……
……
return value;
}
int main()
{
int intvalue;
intvalue=func();
……
……
return 0;
}

return语句后面具体是什么内容,这就要具体情况具体分析了:

(1) 在返回类型是char的函数中,return后应该是char类型的值;
(2)在返回类型是int的函数中,如果是要停止函数的调用,最好应该为0;其他的按照你的目的而定,只要是int 类型就行了
(3)在返回类型是结构类型的函数中,return后应该是结构的一个实例对象。

总之,函数定义为什么样的返回类型,该函数中return后就应该是相应类型的值。

有好的意见大家交流,通过这件事我就是想说编程中的小细节,通过对小细节的追根究底可以让自己提高尤其是刚刚脱离课本的新手来说。最起码我现在对return的认识比以前加深了

系统分类: 嵌入式
用户分类: 无分类
标签: 无标签
来源: 转贴
发表评论 阅读全文(127) | 回复(0)
总共 , 当前 /