Difference between revisions of "Language related articles"

From Lazarus wiki
(No difference)

Revision as of 02:03, 6 September 2004

Back to Compiler development articles

Things FPC 1.9.x currently doesn't support

Things FPC 1.9.x partially support

  • variants rumouredly have some problems.
  • currency support needs testing (there was some work done recently afaik)
  • Dynarrays, inclding Slice function seems to have problems.
  • Reintroduce; is only skipped not processed (at least the compiler says so)

The heavily variants using package DECAL has been ported recently and worked fine. So I think the variants problems are mostly over, and only atypical conversions miss. (that can be usually fixed easily if you submit a bug with a simple example that works in Delphi and not in FPC). However some RTL support (the wrapper classes) are largely unimplemented

New in 1.9.x (not yet in the docs)

  • {$fputype xxx) to select a certain fpu style or -Cfxxx on command line/cfg file
    • all: soft (not yet implemented)
    • i386: x87, sse, sse2
      • code compiled with sse uses the sse to do calculations with the single data type. This code runs only on Pentium III and above and AthlonXP and above
      • code compiled with sse2 uses the sse unit to do calculations with the single and double data type. This code runs only on PentiumIV and above and Athlon64 and above
    • x86-64: sse64
    • powerpc: standard
    • arm: libgcc, fpa, fpa10, fpa11, vfp
  • procedural property support (property outside a class with normal procedures as getters/setters.
  • reuse keywords imports all units the reused unit imports.
  • reintroduce omits warning about hidden methods
  • Some mac pascal extensions, see Mode MacPas.
  • system.prefetch(const mem); depending on the target processor the compiler generates a prefetch hint on the given memory location. On iA32 this is the sse instruction prefetchnta which is supported by Pentium3/AthlonXP and above. If the intruction set, selected with -Cp (on iA-32, prefetch instructions are generated for -Oppentium3 and above) doesn't support this instruction, no code is generated for prefetch.
  • Interface type selection: The commandline switch -SI and the directive $interfaces (possible values: corba and com) allow you to choose the type of interfaces which has no parent. Interfaces with parent inherit the style from their parent regardless of the currently selected interface type.
    • COM style interfaces work like Delphi interfaces: they inherit implicitly from IUnknown and they are reference counted.
    • CORBA style interfaces are neither ref. counted nor do they inherit from IUnknown.

For new rtl related stuff have a look at New in the 1.9.x rtl (not yet in the docs).

SSE Usage

To determine the supported instruction set, use the is_sse_cpu and is_sse2_cpu of the mmx unit. Because the sse code is usually faster than x87-fpu code, it's recommended to use these switches for heavy floating point calculations. If you want an application which runs on all fpu architectures, a possible solution is to put the code into an include file and include this file twice into your program: once compiled with e.g. -Cfsse2 and once without. Use the e.g. is_sse2_cpu variable to select the appropriate code:

 {$fputype x87}
 procedure calc_x87;
 {$i mymathcode.inc}
 {$fputype sse2}
 procedure calc_sse2;
 {$i mymathcode.inc}
 begin 
   if is_sse2_cpu then
     calc_sse2
   else
     calc_x87;
 end;


very hot website:

装修 http://www.funasia.cn 团购 http://www.funasia.cn 门禁 http://www.haishun.net 虚拟主机 http://haishun11.51.net fireworks http://fireworks.garrywa.com gemstone globe http://global.garrywa.com/index1.htm 监控 http://www.haishun.net 网址大全 http://www.fm360.net 手表 http://www.tjwatch.com 数据恢复 http://www.hdfix.com.cn 虚拟主机 http://www.conjhost.com fireworks http://fireworks.garrywa.com/fireworks/fireworks.htm 离心机 http://www.feilun.com.cn 化学试剂 http://www.3335555.com 媒体 http://www.33335556.com 二手笔记本 http://www.3332226.com 手套 http://www.3335558.com 发动机 http://www.3332228.com 免费下载电影 免费下载电影 http://www.3332228.com 发动机 http://www.3332228.com 水泥 http://www.5556661.com 塑料制品 http://www.5556663.com 机床 http://www.5556668.com 免费音乐下载 http://www.5556669.com 随身听 http://www.5558881.com 防水材料 http://www.5558882.com 纺织机械 http://www.5558883.com 耐火材料 http://www.5558886.com http://www.5558889.com 肺结核 肺炎 http://www.6668883.com 风机 http://www.6668886.com 家居装饰 http://www.6668889.com 啤酒 http://www.7773336.com 脱发 http://www.7775556.com 钢板 http://www.7775558.com 汽车美容 http://www.7775559.com 网络电话 http://www.6667773.com 监理 http://www.6667775.com 减速机 http://www.6667776.com 钢板网 http://www.6667777.com 钢管 http://www.6667778.com 网络设备 http://www.6667779.com 洗衣机 http://www.8883335.com 显卡 http://www.8883336.com 显示器 http://www.8883338.com 橡胶 http://www.8883339.com 刀具 http://www.8885553.com 电视机 http://www.8885556.com 锅炉 http://www.8885558.com 二手车 http://www.8886663.com 滑板 http://www.8886665.com 眼镜 http://www.8886668.com 办公用品 http://www.8886669.com 防盗门 http://www.8888886.com 包装机 http://www.8888885.com 仪器 http://www.9993333.com 保温材料 http://www.9993335.com 继电器 http://www.9993336.com 变频器 http://www.9993338.com 包装机械 http://www.9993339.com 办公家具 http://www.9995555.com 复印机 http://www.9995556.com 货运 http://www.9995558.com 高尔夫 http://www.9995559.com 视频 http://shipintj.51.net 内衣 http://tjunderwear.51.net 糖尿病 http://jessica00.51.net 体育彩票 http://ticai.51.net 网页制作 http://e2008net.51.net 性病 http://tomcat00.51.net CISCO http://cisco00.51.net VOD http://ohmyvod.51.net 笔记本 http://notebook1.51.net 笔记本电脑 http://notebook2.51.net 成人用品 http://adult001.51.net 癌症 http://cancer007.51.net 翻译 http://translateone.51.net 酒店 http://drinkery.51.net 管理咨询 http://manager007.51.net 大屏幕 http://bigscreen.51.net mp3 http://mp3first.51.net 礼品 http://present.51.net 留学 http://studyabroad.51.net 旅游 http://tour123.51.net 培训 http://train123.51.net 汽车 http://ourauto.51.net 手机 http://mobiletele.51.net 鲜花 http://freshflowers.51.net 移民 http://migration.51.net 招聘 http://myapply.51.net 装修 http://decorate.51.net 租房 http://zufang001.51.net MBA http://videomarket.51.net 门禁 http://email8888bada.51.net 乙肝 http://asp169.51.net 游戏 http://cnnet21.51.net 游戏下载 http://asp169net.51.net 仪器 http://guanghui16.51.net 数码相机 http://juyolo.51.net 网站建设 http://guanghui6.51.net erp http://guanghui1.51.net flash thttp://guanghui4.51.net mp3下载 http://guanghui5.51.net 爱滋病 http://guanghui7.51.net 办公自动化 http://guanghui8.51.net 出国 http://guanghui9.51.net 短信 http://guanghui11.51.net 对讲机 http://guanghui12.51.net 干燥设备 http://guanghui13.51.net 会计师事务所 http://guanghui14.51.net 货架 http://guanghui15.51.net 交友 http://guanhui21.51.net 聊天 http://guanghui71.51.net 美女 http://guanhui585.51.net 监控 http://www.haishun.net 门禁 http://www.haishun.net 手表 http://www.tjwatch.com 网址大全 http://www.fm360.net 不锈钢 http://www.ss-cn.com 打印机 http://www.printer-cn.com 钢结构 http://www.stst-cn.com 计算机 http://www.cn-computer.com 加盟 http://www.joinin-cn.com 建筑材料 http://www.coma-cn.com 旅行社 http://www.t-agency.com 企业管理 http://www.cor-admin.com 人力资源 http://www.human-cn.com 网页设计 http://www.webpage-cn.com 市场营销 http://www.168marketing.com 室内设计 http://www.66interior.com 手机 http://www.66cellphone.com 饲料 http://www.88feedstuff.com 涂料 http://www.china-dope.com 卫星电视 http://www.cn-Satellite-tv.com 物流 http://www.66logistics.com 远程教育 http://www.168Education.com 展览 http://www.cn-exhibition.com 包装机械 http://www.66machine.com 包装设计 http://www.66packing.com 玻璃钢 http://www.88fiber.com 瓷砖 http://www.66ceramic.com 地板 http://www.66floor.com 电池 http://www.66battery.com 电动工具 http://www.66tools.com 电话 http://www.88telephone.com 电缆 http://www.66cable.com 电器 http://www.appliances66.com 电线电缆 http://www.168wire.com 电源 http://www.66supply.com 雕塑 http://www.66sculpture.com 耳机 http://www.earphone168.com 二手电脑 http://www.computer666.com 二手房 http://www.house222.com 发电机 http://www.cn-dynamotor.com 防盗门 http://www.door168.com 纺织 http://www.textile88.com 机票 http://www.ticket88.com 复印机 http://www.copy168.com 钢铁 http://www.888steel.com 工程机械 http://www.machine88.com 广告设计 http://www.chinaad-design.com 继电器 http://www.relay888.com 家电 http://www.jiadian666.com 建筑设计 http://www.551111.com 交换机 http://www.switch88.com 洁具 http://www.jieju-china.com 开关 http://www.switch168.com 乐器 http://www.musical88.com 木地板 http://www.china-wood-floor.com 皮革 http://www.leather168.com 啤酒 http://www.beer-china.com 润滑油 http://www.cn-vcr.com 摄像机 http://www.china-vcr.com 摄像头 http://www.331111.com 数码摄像机 http://www.china-digital-camera.com 塑料机械 http://www.661111.com 体育用品 http://www.china-sports-kit.com 网络电话 http://www.665555.com 望远镜 http://www.663333.com 文具 http://www.662222.com 五金工具 http://www.885555.com 显示器 http://www.8881111.com 相机 http://www.8887777.com 香水 http://www.8886666.com http://www.8885555.com 仪表 http://www.8883333.com 中央空调 http://www.8882222.com 珠宝 http://www.36788.com 平面设计 http://www.26788.com 传感器 http://www.sensor168.com 摩托车 http://www.moto-cn.com 玻璃 http://www.glass8888.com 电机 http://www.motor2008.com 工艺品 http://www.craftwork2008.com 化工 http://www.chem888.com 化妆品 http://www.cosmetics2008.com 机械 http://www.machine168.com 空调 http://www.ac8888.com 时装 http://www.cn-fashion.com 食品 http://www.food-cn.com 塑料 http://www.plastic168.com 陶瓷 http://www.ceramic168.com 玩具 http://www.toy-china.com 五金 http://www.hardware888.com 印刷 http://www.cn-press.com 轴承 http://www.chinaaxletree.com 钢材 http://www.steel168.com 汽车配件 http://www.china-af.com 橡胶 http://www.chinalatex.com 变压器 http://www.china-transformer.com 订房 http://www.booking-room.com 订票 http://www.tb-china.com 水处理 http://www.china-wp.com 显示屏 http://www.screencn.com 礼品 http://www.cn-present.com 旅游 http://www.2008travel.com 汽车 http://www.china-am.com 服装 http://www.cn-clothing.com 电影 http://www.commovie-china.com 手机 http://www.china-cp.com 钢结构 http://www.stst-cn.com 建筑材料 http://www.coma-cn.com 企业管理 http://www.cor-admin.co 饲料 饲料 涂料 http://www.china-dope.com 卫星电视 http://www.cn-Satellite-tv.com 包装设计 http://www.66packing.com 玻璃钢 http://www.88fiber.com 瓷砖 http://www.66ceramic.com 地板 http://www.66floor.com 电缆 http://www.66cable.com电缆 http://www.66cable.com 电线电缆 http://www.168wire.com 电源 http://www.66supply.com 雕塑 http://www.66sculpture.com 建筑设计 http://www.551111.com 洁具 http://www.jieju-china.com 开关 http://www.switch168.com 皮革 http://www.leather168.com 啤酒 http://www.beer-china.com 塑料机械 http://www.661111.com 变压器 http://www.china-transformer.com 显示屏 http://www.screencn.com 数码相机 http://www.camera-cn.com 稳压器 http://www.pre-machine.com 招聘 http://www.Invite-cn.com 触摸屏 http://www.hold-screen.com 机柜 http://www.ma-cabinet.com 显示屏 http://www.screen-cn.com 酒店预定 http://www.wine-booking.com 模具 http://www.molding-tool.com 在线电影 http://www.movie-online123.com 笔记本 http://www.notebook555.com 虚拟主机 http://haishun11.51.net 管理咨询 http://www.management666.com 域名注册 http://www.dn-register.com 肾病 http://www.ki-disease.com 免费电影 http://www.freemovie-cn.com 肿瘤 http://www.tumor-cn.com 显微镜 http://www.microscope-cn.com 婚介 http://www.marriage666.com 股票 http://www.stock-cn.com 交换机 http://www.ex-machine.com 糖尿病 http://www.diabetes-cn.com 企业邮箱 http://www.b-mailbox.com 五金 http://www.hardware123.com 乙肝 http://www.b-liver.com 对讲机 http://www.interphone555.com 化妆品 http://www.cosmetics666.com 股骨头坏死 http://www.bdi-bone.com 网站推广 http://www.website-expansion.com 美女 http://www.beauty333.com UPS http://www.ups123.com 液晶 http://www.lcd-cn.com 文具 http://www.stationery555.com 尿毒症 http://www.upoisoning.com 订房 http://www.room-ordering.com 条码打印机 http://www.bc-printer.com 酒店 http://www.wine-shop001.com 电脑 http://www.computer888.com 珠宝 http://www.jewelry666.com 家具 http://www.furniture135.com 投影幕 http://www.cast-shadow.com 服饰 http://www.dress-cn.com 网站空间 http://www.websitespace-cn.com 轮胎 http://www.tire-cn.com http://www.shopping-cn.com 网上购物 包装机械 http://www.packing-machine.com 条码 http://www.barcode555.com