仪仗队是什么意思| 数字五行属什么| sco是什么意思| 干燥综合征吃什么药| 油麦菜不能和什么一起吃| 禾末念什么| 属兔本命佛是什么佛| 赫拉是什么神| 手指甲没有月牙是什么原因| 尿肌酐是什么意思| 什么什么于怀| 唇炎抹什么药膏最有效| 五十坐地能吸土是什么意思| 胆红素高有什么症状| 玛雅文明是古代什么文明的代表| 血常规主要检查什么| 原则性问题是什么意思| 微量蛋白尿高说明什么| 梦见孕妇是什么预兆| 小孩子眼睛眨得很频繁是什么原因| 嗤笑什么意思| 面瘫是什么| 俞字五行属什么| 近视用什么镜矫正| 值机是什么意思| hpv检查挂什么科| 酒花是什么| 妲己属什么生肖| 2004年属什么| uma是什么意思| 四大发明有什么| 短pr间期是什么意思| pw是什么意思| 为什么做梦| 眼睛发涩是什么原因导致的| eicu是什么意思| 生物膜是什么| 什么鸡适合炖汤| 什么是cg| 手脚麻木吃什么药| 血管堵塞吃什么药好| 消失是什么意思| 见路不走是什么意思| 猕猴桃对身体有什么好处| 阴道松弛吃什么药| 捡肥皂什么意思| 全身骨头疼是什么原因| 什么的秃鹫| 缓刑是什么| 血象高是什么原因| 什么人容易得甲亢| 金福是什么生肖| 伤官格是什么意思| hb是什么| 白塞氏吃什么药| 肚脐眼下面痛什么原因| 黄瓜为什么会发苦| 阑尾疼吃什么药| 谋杀是什么意思| 慢性胃炎用什么药效果最好| 锖色是什么颜色| 茉莉茶叶有什么功效和作用| 幽门螺旋杆菌的症状吃什么药| 生加一笔是什么字| 一个丝一个鸟读什么| 什么螺不能吃| 稷是什么意思| 1998年出生属什么| 橘白猫是什么品种| 阳盛阴衰是什么意思| 早孕反应什么时候开始| 皮肤过敏挂什么科| 孕期什么时候补铁| 伤官是什么| 双向情感障碍是什么| 肾衰竭吃什么好| 皮肤干燥是什么原因| 吃什么可以祛痘排毒| 贝的偏旁有什么字| 四点底和什么有关| 脚底灼热是什么原因| 为什么新疆人不吃猪肉| 拍手腕中间有什么好处| 脑供血不足中医叫什么| 为什么一进去就软了| 肝不好吃什么药效果好| 肌肉拉伤是什么感觉| 什么叫脂溢性脱发| bgm是什么| 签证是什么| 手胶是什么| 恭敬地看的词语是什么| 肝火旺喝什么茶| uniqlo是什么牌子| 手上长斑点是什么原因| 密度单位是什么| 淋巴细胞百分比偏高是什么原因| 金丝檀木是什么木| 胆汁有什么作用| 是什么星座| 乡长是什么级别| 早上起床口臭是什么原因| 二尖瓣反流吃什么药| 张字五行属什么| 抗核抗体弱阳性说明什么| 胃阳不足吃什么中成药| 戊型肝炎是什么病| 呆萌是什么意思| 牡丹花什么季节开| 什么是敏感肌| 看见双彩虹有什么征兆| 升结肠憩室是什么意思| 持续高烧不退是什么原因| 为什么坐月子不能吹风| 什么是热量| 梦见自己理发是什么意思| 7月13日什么星座| 女生做彩超是检查什么| 小孩子发烧吃什么药| 八月有什么节日| 干旱是什么意思| 血压是什么意思| 前列腺炎有什么症状表现| 三顾茅庐的顾是什么意思| 眩晕症吃什么药好| 闰月什么意思| a型血为什么叫贵族血| 嘴歪是什么病的前兆| 子宫后位什么意思| fu是什么| 手麻是什么原因引起的| 吃秋葵有什么好处| 猫咪取什么名字好听| 异型增生是什么意思啊| 钾低了会出现什么症状| 造影检查是什么意思| 潜血是什么意思| 做梦人死了是什么征兆| 晕倒挂什么科| 锦衣卫是干什么的| 刘伯温属什么生肖| 农历9月21日是什么星座| 春天有什么特点| gala是什么意思| 尿道炎用什么药治疗| 一月十五号是什么星座| 嗓子干疼吃什么药| 财大气粗是什么意思| 尿毒症吃什么最好| 三百年前是什么朝代| 什么是日记| 八一年属什么生肖| 才高八斗什么生肖| 凌晨两点半是什么时辰| 对什么感兴趣| 白兰地属于什么酒| 嗓子疼吃什么水果好得快| 什么饼干养胃最好| 禁的拼音是什么| 马华读什么| 出现幻觉是什么原因引起的| 74岁属什么| 为什么泡完脚后非常痒| 置之死地而后生是什么意思| 灰溜溜是什么意思| 毛宁和毛阿敏是什么关系| 儿童办护照需要什么材料| 无聊干什么| 什么鱼不属于发物| 不负卿是什么意思| 雨伞代表什么数字| 唇炎抹什么药膏最有效| 屁股眼痒是什么原因| 吃什么丰胸效果最好最快| 肝阳性是什么意思| 什么是有氧运动| 两肺少许纤维灶是什么意思| 牙疼吃什么食物能缓解| 骨密度减少是什么意思| 凤是什么意思| mj是什么单位| 华佗是什么生肖| 孕妇钙片什么时间段吃最好| o型血和什么血型最配| 护理专业是干什么的| 眼震电图能查什么病| 中国国酒是什么| 检查血糖挂什么科| 贝壳像什么| 高血脂是什么原因引起的| 为什么会长荨麻疹| 00年是什么命| 甲亢查什么| 部分空蝶鞍是什么意思| 翘嘴鱼是什么鱼| 湖面像什么| 高烧后拉稀说明什么| 皮肤黑穿什么颜色好看| 洗内裤用什么洗比较好| 耳朵发痒是什么原因| 五台山在什么地方| 考试前吃什么能让大脑发挥最佳| 心率是什么意思| 屁股有痣代表什么| 美女的阴暗是什么样的| 什么贝壳| 牛筋面是什么做的| 嗓子有痰是什么原因| 悦人不如悦己什么意思| rh是什么单位| 属龙女和什么属相最配| 脚底板发热是什么原因| 口水臭什么原因| 什么时候会有孕吐反应| 备孕需要注意些什么| 入伏天是什么意思| 戒烟有什么好处| 日行一善是什么意思| homme是什么意思| 女人的胸部长什么样| 最熟悉的陌生人是什么意思| 伯伯的儿子叫什么| 一岁半宝宝反复发烧是什么原因| 喜用神是什么| 经典是什么意思| 日光浴是什么意思| 女人上嘴唇有痣代表什么| waist是什么意思| 心肌供血不足吃什么| 窦性心律电轴右偏什么意思| 喉炎吃什么药最有效| 柠檬配什么泡水喝最好| 星星代表什么生肖| 三焦指的是什么器官| 浙江大学校长什么级别| 什么是介入手术| 舌头痛吃什么药好| sad什么意思| 胃酸过多吃什么食物好| 冯字五行属什么| 青霉素是什么| 打喷嚏是什么原因引起的| 甲亢是什么症状| 牙齿流血是什么原因| 什么方法避孕最安全有效| 新生儿湿疹用什么药膏| 罗汉果可以和什么一起泡水喝| 甲沟炎涂抹什么药膏最有效| 肚脐下面是什么部位| 眼震是什么症状| 丝瓜有什么功效| 风对什么| 俎是什么意思| 世界上最大的单位是什么| 潮汕立冬吃什么| 指甲变黑是什么原因| 前列腺钙化灶是什么意思| 朝秦暮楚是什么生肖| 运动后体重增加是什么原因| 县宣传部长是什么级别| 冬日暖阳是什么意思| 女生下面是什么味道| 距离产生美是什么意思| 什么子孙| 百度Jump to content

菲媒称中国新商务部长3月访菲 签34亿美元合作项目

From Wikipedia, the free encyclopedia
Macintosh Programmer's Workshop
Developer(s)Apple Computer
Initial releaseSeptember 24, 1986; 38 years ago (2025-08-07)
Stable release
3.6d7
Operating systemClassic Mac OS
TypeSoftware development tool
Licenseclosed-source freeware
WebsiteOfficial MPW website at the Wayback Machine (archived May 14, 2011)
百度 老年性耳聋有遗传易感性,同样条件下,有的人听力会下降得更早,这和老化的自然环境有关,也与该老人的身体疾病有关,比如高血压等。

Macintosh Programmer's Workshop (MPW) is a software development environment for the Classic Mac OS operating system, written by Apple Computer. For Macintosh developers, it was one of the primary tools for building applications for System 7.x and Mac OS 8.x and 9.x. Initially MPW was available for purchase as part of Apple's professional developers program, but Apple made it a free download after it was superseded by CodeWarrior. On Mac OS X it was replaced by the Project Builder IDE, which eventually became Xcode.

Design

[edit]

MPW provided a command line environment and tools, including 68k and PowerPC assemblers as well as Pascal, C and C++ compilers. The shell environment is somewhat similar to Unix shells in design, but is designed around the Macintosh's character set and GUI, replacing the usual terminal environment with a "worksheet" interface, allowing the user to select and run arbitrary sections of a shell script or to redo commands with no retyping. In addition, command line tools were commonly provided with a somewhat standardized graphical interface named Commando that provided limited access to the command line capabilities of the program. The debuggers were not integrated into MPW like most IDEs of today but the language compilers supported the symbolic debugging information file format used by the debugger. MPW supported a source-level debugger called SADE (Symbolic Application Debugging Environment). SADE was not an MPW Tool, but ran as a separate application with a user interface similar to MPW.

Apple's compilers had some features that were not common on other platforms—for example, the Pascal compiler was object-oriented, while the C and C++ compilers included support for length-prefixed strings (needed for Pascal-oriented APIs).

Pascal was Apple's original preferred language for Macintosh software development,[1] and MPW was initially released with only Pascal support. A C compiler was released with MPW 2.0. The MPW C compiler was written under contract for Apple by Greenhills, a Macintosh-variant of the Green Hills C compiler designed specially for Apple and which was similar to the version that was available for the Lisa Workshop.[2][3] In addition, the original MPW C compiler was known for its casual and frequently humorous error messages ("we already did this function"),[2] as well as occasionally addressing users by name.[4] These quirks were not carried on after the PowerPC transition, when Apple replaced the originals with compilers written by Symantec. Pascal support was no longer provided by the mid-90s due to declining popularity of the language. MPW was always targeted to a professional audience and was seldom used by hobbyist developers due to the considerable price for the package; by the time it was made freeware it had long since been superseded by offerings from Symantec and Metrowerks, as well as Apple's own development tools inherited from NeXT and distributed for free with OS X. It was also occasionally available as a wrapper environment for third-party compilers, a practice used by both Metrowerks and Absoft among others. Apple has officially discontinued further development of MPW and the last version of OS X to run it is 10.4 'Tiger', the last one to support the Classic environment. Apple maintained a web site and mailing lists that supported the software long after its discontinuation, but that site now redirects to the Xcode page.

MPW Shell

[edit]

The MPW Shell featured redirection of output to files, as well as to windows. If a file was open, the output would go to the file and to the open window. This redirection of output required significant patching out of the file system calls so that tools need not do anything special to inherit this feature: the MPW Shell did all of the work.

The MPW Shell command language was based on the Unix csh language, but was extended to support the main features of the Macintosh GUI. It had simple commands to create menus, dialogs (prompts), and new shell windows. The cursor could be controlled, and MPW scripts or tools could easily be attached to a menu item. Command key shortcuts could be specified. Window size and location could be controlled. These features were popular in commercial production environments, where complicated build and packaging processes were all controlled by elaborate scripts.

The shell had some important differences from its Unix counterparts. For instance, the classic Mac OS had nothing comparable to Unix fork(), so MPW tools were effectively called as subroutines of the shell; only one could be running at any one time, and tools could not themselves run other tools. These limitations were the inspiration for the MacRelix project, a "Unix-like system" for classic Mac OS.[5]

Look and feel

[edit]

Functionally, a worksheet is a cross between a text editor document and an xterm window. Each worksheet window is persistently bound to a file. The user may type anything anywhere in the window, including commands, which can be executed via the keyboard's Enter key; command output appears at the insertion point. Unlike an xterm window, an MPW worksheet is always in visual editing mode and can be freely reorganized by its user. Hence a worksheet can be purely a command script or purely a text document or a mixture of the two—an integrated document describing the history, maintenance procedures and test results of a software project. The commercial BBEdit text editor retains a feature it calls "shell worksheets" on Mac OS X. The Emacs text editor provides shell buffers, a similar feature that works across platforms.

Other tools

[edit]

MPW included a version of make. Its syntax was conceptually similar to that of Unix make, but used the MacRoman long f character to indicate dependencies. More significantly, since the limitations of the shell precluded the make program from running tools itself, it had to work by composing a script of compile/link actions to be run, then delivering that to the shell for execution. While this was good enough most of the time, it precluded makefiles that could make on-the-fly decisions based on the results of a previous action.

Although not implemented as MPW tools, the package also came with several source-level debuggers through its history; SourceBug and SADE (Symbolic Application Debugging Environment) were used on MC680x0 systems, while the Power Mac Debugger (known during development as R2Db[6]) provided both local and remote debugging services for PowerPC systems, the latter by using a server program known as a "debugger nub" on the computer being debugged.

Writing MPW tools

[edit]

MPW included a set of standard C libraries sufficient for developers to build their own MPW tools. Many Unix utilities could be ported with little change. One point of difficulty was the Mac OS newline convention, which was different from Unix. Another was the pathname separator, ":" in Mac OS, but many Unix utilities assumed "/". Many Unix utilities also assumed pathnames would not have embedded spaces, a common practice on Macs.

For a number of years, the GNU toolchain included portability support for MPW as part of libiberty. This was used to support MPW-hosted cross-compilers used by General Magic and several other developers.

History

[edit]

MPW was started in late 1985 by Rick Meyers, Jeff Parrish, and Dan Smith (now Dan Keller). It was going to be called the Macintosh Programmer's System, or MPS. (Notice that coincidentally the three last names start with MPS.) 'MPS ' has always been the creator signature of the MPW Shell as a result of this. Since MPW was to be the successor to the Lisa Workshop, they decided to rename it the Macintosh Programmer's Workshop. Before the arrival of MPW, Mac applications had to be cross-developed on a Lisa.

The MPW Pascal compiler is descended from the Lisa Pascal compiler. Apple's Larry Tesler worked with Niklaus Wirth to come up with Object Pascal extensions which Ken Doyle incorporated in one of the last versions of the Lisa Pascal compiler. This enabled MacApp.

Early contributors included Rick Meyers (project lead and MPW Shell command interpreter), Jeff Parrish (MPW Shell editor), Dan Smith (MPW Shell commands), Ira Ruben (assembler and many of the tools including Backup, PasMat, and more), Fred Forsman (Make, Print, SADE, and assembler macro processor), Al Hoffman (Pascal compiler) Roger Lawrence (Pascal and C compilers, including the error messages), Ken Friedenbach (linker), Johan Strandberg (Rez, DeRez, RezDet), Steve Hartwell (C libraries), and Dan Allen (MacsBug, editor). The Apple Numerics Group also contributed math libraries.

MPW 1.0 was completed on September 24, 1986. A shell memory leak was fixed on October 10, 1986, and MPW 1.0.1 was born. MPW 2.0 was completed on July 20, 1987. MPW 3.0 was done November 30, 1988 and included a completely new C compiler.[7] Around the same time, the beta version of the C++ compiler as well as MacApp 2.0 (for Object Pascal) were made available.[8] MPW 3.1 and 3.2 came in the next few years, with MPW 3.3 released in May 1993, adding distributed tools support and incremental linking.[9] MPW 3.4 was completed July 14, 1995, and MPW 3.5 was done December 17, 1999. MPW 3.6 was under development when work was halted in late 2001.

During MPW's twilight years, Greg Branche supported MPW unofficially through the Apple MPW-dev mailing list. The list, and the lists.apple.com server that hosted it, was planned to be shut down January 17, 2014,[4] a decision that was later reversed.[10]

Legacy

[edit]

MPW can still be used to develop for Mac OS X, but support is limited to Carbon applications for PowerPC-based computers. To develop Mac OS X applications based on other technologies, one must use either Xcode or another OS X-compatible development environment. MPW also included a version control system called Projector; this has been superseded by modern version control systems and is no longer supported in Mac OS X.

See also

[edit]

References

[edit]
  1. ^ Webster, Bruce (February 1986). "Programming Tool and the Atari ST". BYTE. p. 331. Retrieved 9 May 2015.
  2. ^ a b Lentz, Robert (May 15, 1994). "MPW C Error Messages". Archived from the original on June 2, 2015.
  3. ^ Allen, Dan (1 January 1988). "Dr Dobb's – The Macintosh Programmer's Workshop". Retrieved 2025-08-07.
  4. ^ a b "Re: Will the last one to leave please turn off the lights?". Archived from the original on 2025-08-07. Retrieved 2025-08-07.
  5. ^ "MacRelix Origins".
  6. ^ Short for RISC 2-machine Debugger; Falkenburg, Dave; Topping, Brian. "Debugging on PowerPC". MacTech.
  7. ^ Poole, Lon (April 1989). "Developer Developments". Macworld. Vol. 6, no. 4. p. 93.
  8. ^ Poole, Lon (April 1989). "C++ and MacApp 2.0". Macworld. Vol. 6, no. 4. p. 91.
  9. ^ Cohen, Raines (24 May 1993). "MPW 3.3 release through APDA". MacWeek. Vol. 7, no. 21. p. 12.
  10. ^ "Reprieve!". Archived from the original on 2025-08-07. Retrieved 2025-08-07.

Further reading

[edit]
[edit]


atp 是什么 样板间是什么意思 梅核气吃什么药好得快 费心是什么意思 吸烟有害健康为什么国家还生产烟
蒙古国什么时候独立的 谷胱甘肽是什么 心脏彩超挂什么科 品红是什么颜色 白细胞高一点点是什么原因
翅膀最长的鸟是什么鸟 血压高会引起什么症状 925银和s925银有什么区别 鲤鱼爱吃什么食物 舌头边缘有齿痕是什么原因
民兵是干什么的 秦始皇的真名叫什么 阿尔茨海默症是什么 bolon是什么牌子眼镜 浇去掉三点水读什么
来大姨妈吃什么hcv9jop5ns3r.cn 豉油是什么油hcv8jop4ns4r.cn 呼呼是什么意思hcv9jop1ns9r.cn 血栓挂什么科hcv8jop3ns7r.cn 眼睛流泪是什么原因hcv9jop0ns2r.cn
什么情况会染上鼠疫jasonfriends.com 农历六月十九是什么日子hcv8jop5ns1r.cn 盗汗是什么症状hcv9jop5ns6r.cn 双脚麻木是什么病的前兆hcv8jop2ns6r.cn 手指经常抽筋是什么原因hcv8jop8ns2r.cn
腰椎间盘突出看什么科hcv9jop2ns8r.cn 嘴歪是什么病的前兆hcv7jop6ns7r.cn 心脏早搏有什么危害tiangongnft.com 什么水果清热去火hcv8jop6ns1r.cn 突然呕吐是什么原因beikeqingting.com
天堂是什么意思hcv8jop8ns4r.cn 吃什么水果对皮肤好hcv9jop1ns7r.cn 怀孕3天有什么症状hcv8jop6ns0r.cn 甲亢的早期症状是什么hcv9jop2ns8r.cn 707是什么意思bjhyzcsm.com
百度