当前位置:文档之家› C++外文翻译

C++外文翻译

C++外文翻译
C++外文翻译

外文原文

From one code base to many platforms using Visual C++

Multiple-platform development is a hot issue today. Developers want to be able to support diverse platforms such as the Microsoft? Windows? version 3.x, Microsoft Windows NT?, and Microsoft Windows 95 operating systems, and Apple?, Macintosh?, UNIX, and RISC (reduced instruction set computer) machines. Until recently, developers wanting to build versions of their application for more than one platform had few choices: ?Maintain separate code bases for each platform, written to the platform's native application programming interface (API).

?Write to a "virtual API" such as those provided by cross-platform toolsets.

?Build their own multiple-platform layer and support it.

Today, however, a new choice exists. Developers can use their existing code written to the Windows API and, using tools available from Microsoft and third parties, recompile for all of the platforms listed above. This paper looks at the methods and some of the issues involved in doing so.

Currently the most lucrative market for graphical user interface (GUI) applications, after Microsoft Windows, is the Apple Macintosh. However, vast differences separate these wholly different operating systems, requiring developers to learn new APIs, programming paradigms, and tools. Generally, Macintosh development requires a separate code base from the Windows sources, increasing the complexity of maintenance and enhancement.

Because porting code from Windows to the Macintosh can be the most difficult porting case, this paper concentrates in this area. In general, if your code base is sufficiently portable to enable straightforward recompiling for the Macintosh (excluding any platform-specific, or "edge" code, you may elect to include), you'll find that it will come up on other platforms easily as well.

Microsoft Visual C++? Cross-Development Edition for Macintosh (Visual C++ for Mac?) provides a set of Windows NT– or Windows 95–hosted tools for recompiling your Windows code for the Motorola 680x0 and PowerPC processors, and a portability library that implements Windows on the Macintosh. This allows you to develop GUI applications with a single source code base (written to the Win32? API) and implement it on Microsoft Windows or Apple Macintosh platforms.

Figure 1, below, illustrates how Visual C++ for Mac works. Your source code is edited, compiled, and linked on a Windows NT–or Windows 95–based (Intel) host machine. The

tools create 68000 and PowerPC native code and Macintosh resources. An Ethernet-based or serial transport layer (TL) moves the resulting binaries to a Macintosh target machine running remotely. The Macintosh application is started on the Macintosh and debugged remotely from the Windows-based machine.

Now that Apple has two different Macintosh architectures to contend with (Motorola 680x0 and PowerPC) portability is particularly important.

Porting can involve several steps, depending on whether you are working with old 16-bit applications or with new 32-bit sources. In general, the steps to a Macintosh port are as follows:

1.Make your application more portable by following some general portability guidelines.

This will help insure not only portability to the 680x0-based Macintosh machines, but also to the newer, more powerful PowerPC machines that are based on a RISC chip.

2.Port your application from Windows 16-bit code to 32-bit code. This may be the most

complex and time-consuming part of the job.

3.Segregate those parts of your application that are unique to Windows from similar

implementations that are specific to the Macintosh. This may involve using conditional compilation or it may involve changing the source tree for your project.

4.Port your Win32 API code to the Macintosh by using the portability library for the

Macintosh and Visual C++ for compiling, linking, and debugging.

https://www.doczj.com/doc/ba18396383.html,e the Microsoft Foundation Class Library (MFC) version 4.0 to implement new

functionality such as OLE 2.0 containers, servers, and clients or database support using open database connectivity (ODBC). Code written using MFC is highly portable to the Macintosh.

6.Write Macintosh-specific code to take advantage of unique Macintosh features, such

as Apple Events or Publish and Subscribe.

The chief challenge among the families of Windows operating systems is the break from 16 bits (Windows 3.11 and Windows for Workgroups 3.11 operating system with integrated networking) to 32 bits (Windows NT and Windows 95). In general, 16-bit and 32-bit code bases are somewhat incompatible, unless they are written using MFC. Developers have the choice of branching their sources into two trees, or migrating everything to 32 bits. Once the Win32 choice has been made, how are legacy platforms to be run (that is, machines still running Windows 3.11)? The obvious choice is to use the Win32s? API libraries, which thunk 32-bit calls down to their 16-bit counterparts.

Developers who want their applications to be able to take advantage of the hot new RISC hardware, such as DEC Alpha AXP machines, can use the special multiple platform editions

of Visual C++. These include versions for the MIPS R4000 series of processors as well as the aforementioned DEC Alpha AXP chip and the Motorola Power PC. These toolsets run under Windows NT 3.51 and create highly optimized native Win32 applications for DEC Alpha and Motorola PowerPC platforms.

Developers who have recompiled their Win32 sources using these toolsets are amazed at how simple it is. Since the operating system is identical on all platforms, and the tools are identical, little work has to be done in order to achieve a port. The key difference in the RISC machines from Intel is the existence of a native 64-bit integer, which is far more efficient than on 32-bit (that is, Intel) processors.

Microsoft works closely with two third-party UNIX tools providers, Bristol Technology and Mainsoft Corporation, to allow developers to recompile their Win32-based or MFC-based applications for UNIX. Developers seeking additional information should contact those companies directly.

You'll have to decide early on whether to write to the native API (Win32) or to MFC. In general you'll find MFC applications will port more quickly than Win32 applications. This is because one of the intrinsic benefits of an application framework is an abstraction of the code away from the native operating system to some extent. This abstraction is like an insurance policy for you. However, developers frequently have questions about MFC, such as: ?What if I need an operating system service that isn't part of the framework?

Call the Win32 API directly. MFC never prevents you from calling any function in the Win32 API directly. Just precede your function call with the global scope operator (::).

?I don't know C++. Can I still use MFC?

Sure. MFC is based on C++, but you can mix C and C++ code seamlessly.

?How can I get started using MFC?

Start by taking some classes and/or reading some books. Visual C++ ships with a fine tutorial on MFC (Scribble). Then, check out the MFC Migration Kit (available on CompuServe or, for a modest shipping and handling fee, from Microsoft). It will help you migrate your C-based application code to MFC and C++.

All porting will be easier if you begin today writing more portable programs. Following some basic portability guidelines will make your code less platform-specific.

Never assume anything. Particularly, don't make assumptions about the sizes of types, the state of the machine at any time, byte ordering, or alignment.

Don't assume the size of primitive types, because these have different sizes on different processors. For example, an int is two bytes in Win16 and four bytes in Win32. At all costs,

avoid code that relies on the size of a type. Use sizeof() instead. To determine the offset of a field in a structure, use the offsetof() macro. Don't try to compute this manually.

Use programmatic interfaces to access all system or hidden "objects," for example, the stack or heap.

Parsing data types to extract individual bytes or even bits can cause problems when porting from Windows to the Macintosh unless you are careful to write code that doesn't assume any particular byte order. LIMITS.H contains constants that can be used to help write platform-independent macros to access individual bytes in a word.

This may seem obvious, because nothing could be less portable than assembly language. Compilers, such as Microsoft Visual C++, that provide inline assemblers make it easy to slip in a little assembler code to speed things up. If you want portable code, however, avoid this temptation. It may not be necessary. Modern compilers can often generate code as good as hand-tuned native assembler code. Our own research at Microsoft indicates that performance problems are more often the result of poor algorithms than they are of poor code generation. Indeed, with RISC machines, hand-turned native assembler code may actually be worse than machine-generated code, due to the complexity of instruction scheduling and picking register usage.

Write all routines in C first; then, if you absolutely need to rewrite one in assembler, be sure to leave both implementations in your sources, controlled by conditional compiles, and keep both up to date.

A major goal of American National Standards Institute (ANSI) C/C++ is to provide a portable implementation of the language. Theoretically, code written to strict ANSI C compliance is completely portable to any compiler that implements the standard correctly. Microsoft Visual C++ provides a compiler option (/Za) to enable strict ANSI compatibility checking.

Microsoft Visual C++ provides some language features that are in addition to ANSI C, such as four-character constants and single-line comments. Programs that use the Microsoft C extensions should be portable to all other implementations of Microsoft Visual C++. Thus, you can write programs that use four-character constants, for example, and know that your program is portable to any 16-bit or 32-bit Microsoft Windows platform or to the Macintosh.

Compilers normally align structures based on the target machine architecture; some RISC machines, such as the MIPS R4000, are particularly sensitive to alignment. Alignment faults may generate run-time errors or, instead, may silently and seriously degrade the performance of your application. For portability, therefore, avoid packing structures. Limit

packing to hardware interfaces and to compatibility issues such as file formats and on-disk structures.

Using function prototypes is mandatory for fully portable code. All functions should be prototyped, and the prototype should exactly match the actual function declaration.

Following the guidelines above will make your code a lot more portable. However, if you have 16-bit Windows code, your first step is to make it work properly under Win32. This will require additional changes in your sources.

Code written for Win32 can run on any version of Windows, including on the Macintosh, using the portability library. Portable code should compile and execute properly on any platform. Of course, if you use APIs that only function under Windows NT, they will not work when your application runs under Windows 3.x. For example, threads work under Windows NT but not under Windows 3.11. Those types of functionality differences will have to be accounted for in the design of your application.

Chief among the differences between Win16 and Win32 is linear addressing. That means pointers are now 32 bits wide and the keywords near and far are no longer supported. It also means code that assumes segmented memory will break under Win32.

In addition to pointers, handles and graphic coordinates are now 32 bits. WINDOWS.H will resolve many of these size differences for you, but some work is still necessary.

The recommended strategy to get your application running under Win32 is to recompile for 32 bits, noting error messages and warnings. Next, replace complex procedures and assembly language routines with stub procedures. Then, make your main program work properly using the techniques above. Finally, replace each stubbed-out procedure with a portable version.

After you successfully convert your Windows-based program from 16 bits to 32 bits, you're ready to embark on porting it to the Macintosh. Because significant differences exist between the two platforms, this task can appear daunting. Before you can begin to port your application, you need to better understand these differences. The Macintosh is differentiated from Windows in three general areas:

?Programming model differences

?Processor differences

?User interface (UI) differences

These areas of difference are described below. Porting issues that accompany these differences are discussed in the section titled "Porting from Win32 to the Macintosh."

The Windows and Macintosh APIs are completely different. For example:

?The event models are different. In Windows, you dispatch messages to WindowProcs.

You use DefWindowProc to handle messages in which you're not specifically interested. On the Macintosh, you have a big main event loop to handle all possible events.

?Windows uses the concept of child windows. The Macintosh uses no child windows.

?Windows-based applications can draw using either pens or brushes. Macintosh applications can use only pens.

?Controls in Windows are built-in window classes. On the Macintosh, controls are unrelated to windows.

?Windows allows for 256 binary raster operations; the Macintosh allows for only 16.

Because of the differences between the two platforms, porting a Windows-based application to the Macintosh can be monumental task without powerful tools.

Windows has always run on Intel x86 processors (until Windows NT), and the Macintosh has run on Motorola 680x0 processors (of course, the PowerPC-based Macintosh is now available as well). Differences between the processor families include addressing and byte ordering, in addition to the more expected differences like opcodes, instruction sets, and the name and number of registers.

The Intel 8086 processor, from which subsequent 80x86 processors are descended, used 16-bit addresses, which unfortunately allowed only 65,536 bytes of memory to be addressed. To allow the use of more memory, Intel implemented a segmented memory architecture to address one megabyte (2^20 bytes) of memory that used an unsigned 16-bit segment register and an unsigned 16-bit offset. This original Intel scheme has been extended to allow much larger amounts of memory to be addressed, but most existing Intel-based programming relies on separating code and data into 64K segments.

Although all Intel x86 processors since the 80386 have used 32-bit addressing, for compatibility reasons Microsoft Windows 3.x is actually a 16-bit application, and all Microsoft Windows-based applications had to be written as 16-bit applications. That meant, for example, that most pointers and handles were 16 bits wide. With the advent of Microsoft Windows NT, which is a true 32-bit operating system, all native applications are 32-bit applications, which means that pointers and handles are 32 bits wide. Because Windows NT uses linear addressing, programs can share up to 4 gigabytes of memory.

In contrast, the Motorola 68000 and PowerPC processor have always provided the ability to address a "flat" 32-bit memory space. In theory, a flat memory space of this kind simplifies memory addressing. In practice, because 4-byte addresses are too large to use all the time, Macintosh code is generally divided into segments no larger than 32K.

Microsoft Windows and Windows NT run only on so-called "little-endian" machines—processors that place the least significant byte first and the most significant byte last. In contrast, the Motorola 680x0 and PowerPC (a so-called "big-endian" architecture) place the most significant byte first, followed by the next most significant byte, and so on, with the least significant byte last.

Compilers normally handle all details of byte ordering for your application program. Nevertheless, well-written portable code should never depend on the order of bytes.

Microsoft Windows and the Macintosh present quite different user interfaces in many key areas, including menus, filenames, and multiple-document interface (MDI) applications.

Only one menu bar exists on the Macintosh, and it is always in the same place, regardless of the number or arrangement of windows on the screen. The "active window" contains the menu, which dynamically changes as necessary when different windows are made active. Windows, on the other hand, gives each top-level window its own menu. In addition, under MDI, each child window can also have its own menu. MDI is discussed in greater detail below.

Macintosh applications generally have an "Apple menu" (the leftmost menu) that contains all the installed Desk Accessories and usually contains an About entry for the application. Under System 7, the extreme right side of the Macintosh menu contains an icon for Apple's Balloon Help and the Application menu for switching between applications.

Windows-based applications always have a System menu at the upper-left corner of their top-level window. This menu contains system-level functions for sizing, moving, and closing the window, as well as an item that calls the Task Manager for switching applications.

Generally, Windows-based applications contain keyboard equivalents in their menus. These are underlined letters in each menu entry that the user can select with the keyboard in lieu of the mouse. This, however, is convention rather than requirement. Although some Macintosh applications have these equivalents, most do not.

Filenames and pathnames represent one of the most fundamental differences between Windows and the Macintosh, as well as perhaps the one most difficult to deal with. Many programmers report dealing with filenames as the area of porting in which the most time and energy is spent.

Your Windows-based application probably already handles (and expects) filenames such as "C:\ACCTG\DATA\SEPT93.DAT." Applications for the MS-DOS and Windows operating systems are bound by the traditional 8.3 filename format. Macintosh applications, on the other hand, can handle filenames such as "September, 1993 Accounting Data."

MDI windows allow for multiple child windows within the borders of a top-level window (the "MDI frame"). Many Windows-based applications, such as the Microsoft Word word processor for Windows, are MDI applications. Characteristic of MDI applications are clipped child windows that can be minimized to an icon within the MDI frame. Each MDI child window can also have its own menu.

The Macintosh does not support MDI windows. An application can have multiple windows open; those windows, however, cannot be made into icons, and they share a common menu. Depending on the application, this difference may necessitate significant redesign for a Macintosh port.

Finally you can keep doing what you know how to do best, writing to the Windows API, and still allow for versions of your application that run on other platforms. Visual C++ now gives you special versions that allow you to do this. Keeping your code portable, thinking about portability all the time, and using the right tools will help you make the multiple platform jump as effortless as possible.

.

外文翻译

在今天,多平台的开发是一个热门课题。开发人员希望能够支持不同的平台,例如Windows 3.x, Windows NT, 和 Windows 95 操作系统, 还有Apple, Macintosh, UNIX, 和 RISC (reduced instruction set computer)等。直到不久之前,希望开发多平台任务的开发者们,只有很少的几种选择:

?根据各个平台的不同的应用程序接口,为每个平台准备一份单独的代码。

?利用能跨平台的工具所提供的“虚拟API”。

?构建们自己的多平台层并支持它。

但是到了今天,有了一种新的办法。开发人员可以通过使用微软和第三方的工具,把他们现存的针对Windows API写的代码,对以上列举的各种平台重新编译。本文要关注的就是与这种新办法相关的方法和论点。

目前,Macintosh是紧随Windows之后,市场上最流行的图形用户界面系统。但是这两个完全不同的操作系统之间有太多的不同,需要开发人员学习新的API、新的范例程序、新的工具。一般情况下,对Macintosh应用程序的开发,需要和Windows不同的代码库,这些都增加了维护和升级的复杂度。

因为从Windows到Macintosh的代码转换是最难的情形,所以本文重点是这个内容。如果你的代码能顺利地实现对Macintosh平台的再编译,那么你就会发现它其它平台上的再编译也不难。

Microsoft Visual C++针对Macintosh提供的跨平台编辑器提供了一些工具,这些工具是在Windows NT或 Windows 95平台上运行,可以把Windows代码再编译,使其适应Motorola 680x0和PowerPC 处理器。它还提供了一个转换库来辅助Windows程序在Macintosh上运行。这就使你可以开发单一的源代码(针对Win32? API的),并使它可以运行在Microsoft Windows 或 Apple Macintosh平台上。

下面的第一章,说明了Visual C++是怎样针对Macintosh工作的。你的源代码在Windows NT或Windows 95上面编写,编译,连接。这些工具将产生68000 和PowerPC 的自然代码,以及Macintosh资源。一个基于以太网或串行连接的传输层会把目标代码移动远端的目的Macintosh机器上运行。Macintosh应用程序在Macintosh平台上运行,并且在远端的Windows机器上面调试。

现在,Apple公司有两个不同的Macintosh结构来竞争,可转换性尤其重要。转换的几个步骤取决于你处理的程序是16位还是32位。一般来说,一个Macintosh转换包

括以下几步:

1.遵循一些转换性的方针以使你的程序更容易转换,这将不仅有助于保证基于

680x0的 Macintosh机器的转换,也有助于更新,基于RISC 芯片的powerful

PowerPC机器的转换。

2.把你的Windows应用程序从16位代码转换成32位代码,这也许是最复杂和耗时

间的工作。

3.把你独特的Windows应用程序分割,从熟悉的执行方式到Macintosh。这将涉及

到使用条件编译或者设计到你工程的资源树。

4.利用Macintosh转换库把Win32 API代码转换成Macintosh代码,并利用Visual

C++来编译、连接、调试。

5.使用微软基础类库MFC 4.0实现一些新功能,例如OLE 2.0,服务器,客户端或者

利用ODBC的数据库支持。使用MFC编写的代码对Macintosh有很高的可转换性。

6.编写专门的Macintosh代码,可以利用Macintosh的独特特点,利用Apple 事件

或出版和定购。

开发人员通过Visual C++的特殊的多平台编辑器,可以充分利用新的RISC硬件,例如DEC Alpha AXP机器。这些包括针对MIPS R4000 处理器系列和前面说的DEC Alpha AXP 芯片还有Motorola Power PC.这些工具在Windows NT 3.51下运行,能都产生针对DEC Alpha和Motorola PowerPC的高度优化的Win32应用程序。已经使用过这些工具进行再编译Win32资源的开发人员,对这过程的简单感到惊讶,因为这些平台上的操作系统是各自独立的,它们的工具也是独立的,但是完成一个转换确只需要很少的工作量。

微软公司与两个第三方UNIX工具提供商合作密切(Bristol Technology和Mainsoft公司),这使得开发人员把自己的Win32或MFC程序针对UNIX进行再编译。开发人员可以通过直接和这些公司接触来获得更多的信息。

很早的时候,你可以选择是编写基于原始API或者基于MFC的程序。一般来说你会发现MFC程序可转换性比Win32程序好,这是因为应用程序框架的一个内在优势是对基本操作系统进行了一定程度的提炼,这种提炼类似于为你提供了一种安全保证。但是,开发人员常常对MFC有些疑问,例如:

?如果我需要一种操作系统服务,但应用程序框架没有提供如何处理?

直接调用Win32 API,MFC 不会阻止你任何Win32 API的直接调用,只要你在函数名前面加全局运算符(::)就可以了.

?我不懂C++,还能用MFC吗?

当然可以。MFC是基于C++的, 但是你可以把C和 C++ 代码很好的结合起来。

你在函数名前面加全局运算符(::)就可以了.

?我怎么样开始使用MFC?

从类开始,和/或从读一些书开始。Visual C++ 系统提供了一个很好地MFC指南(Scribble),然后,购买MFC Migration Kit(可以网上付费,自己邮寄到微软),它将帮助你把C程序移植转换成为MFC和C++。

如果你从今天开始编写可转换性好的程序,那么所有的转换都会变得简单。遵守一些基本的转换方针会使你的代码减少对特殊平台的依赖。

不要假定任何事,特别是不要假定数据类型的大小、机器的状态、数据类型排序、或者队列不要假定简单数据类型的大小,因为它们在不同的处理器上有不同的大小。例如,int在Win16和Win32上分别是2个字节和4个字节,无论如何,避免代码依赖于数据类型的大小。使用size of()来替换。使用offset of()宏来判断结构体的大小,而不要试图手动计算。使用可编程的借口去访问所有的系统或者隐藏“对象”,例如栈或堆。

分解数据类型以提取单独的字节或比特,会在从Windows到Macintosh的转换时出问题,除非你在写代码时候小心,不假定任何类型分解。LIMITS.H包含了一些常量,用于辅助书写独立入平台的宏,以访问独立的字节。

这看上去很明显,因为没有什么比汇编语言可转换性更差了。像Microsoft Visual C++这样有内置汇编程序的编译器,可以很容易的摆脱汇编码来提高速度。然而,如果你想转换代码,要避免这种诱惑。如果不是必须的,当今的编译器可以产生和手动产生效果一样好的汇编码。我们在微软的研究表明,问题出现的原因往往是算法的不好,而不是代码的不好。实际上,由于行程和寄存器用法的过于复杂,在RISC机器上,手动产生的汇编码要比机器产生的还要差。

用c语言编写所有的程序,然后,如果你必须用汇编码重写,确保把两种执行程序都保存,利用条件编译,并且保持两种程序的更新。

美国国家标准委员会(ANSI)对C/C++的一个主要目标是,提供一个可转换的这种语言的执行程序。理论上说,严格按照ANSI C编写的程序,对于任何执行ANSI C标准的编译器都是可以转换的。Microsoft Visual C++提供了一个编译器选项,可以用来检查ANSI的兼容性。

Microsoft Visual C++为ANSI C提供了一些语言细节的补充,例如4字符常数和单行的注释。使用Microsoft C扩充的程序可以转换到Microsoft Visual C++的任何其它执行操作。因此,你可以使用4字符常数编写程序,并且明白的程序可以转换到任何16位或32位Microsoft Windows平台,或者是Macintosh平台。

编译器经常定位在目标机器体系上的结构,一些RISC机器,例如MIPS R4000,对排列尤为敏感。排列错误可能导致执行期错误,或者可能悄悄地和显著的影响你的程序。因此,避免封装结构,限制对硬件接口与兼容性地东西如文件格式和磁盘结构的封装。

使用函数原型对于可转换代码来说命令,所有的函数都应该有原型,并且这些原型应该与实际声名的函数完全匹配。

遵循上面的方针,将会是你的代码容易转换,但是,如果你代码是16位的Windows 代码,那你第一步要做的是使它能在Win32下正常工作,这需要你的资源作额外的改变。为Win32编写的代码可以在任何Windows版本下运行,有转换库时候还可以在Macintosh 下运行。可转换的代码应该能在任意平台上正确的编译和执行。当然,如果你使用Windows NT 特有的API,那他们在Windows 3.X下将不能工作,例如有些线程在Windows NT 下工作,却不能在Windows 3.11工作。这些函数区别应该在你设计程序时候考虑到。

Win16 和 Win32的主要区别是寻址长度,意思是现在32位的指针对于或远或近的关键词不再支持了,也意味着分段存储的代码在Win32下会不能工作。

除了指针,句柄和图形调节也是32位,WINDOWS.H会解决一些大小不同的问题,但是仍然有一些工作需要作。

关于把你的程序在Win32下运行的推荐的策略,是把你的代码再编译成 32 bit的, 注意错误消息和警告。接着,把复杂的函数和汇编语言函数用子函数代替,然后,利用上面的技术使你的主程序正确的工作。最后用一个可转换的版本代替所有的子函数。

当你已经成功地把你的Windows程序从16 bits 转换为32 bits,你应该准备好了着手把它转换成 Macintosh,因为这两个平台之间存在很大的区别,所以这个工作会显得令人畏惧。在你开始转换你的程序之前,你最好先明白这些区别。Macintosh 与Windows区别在三个方面:

?编程样式的区别

?处理器的区别

?用户界面的区别

这些方面的区别会在下面叙述。伴随这些区别出现的转换问题会在“从Win32 到Macintosh的转换”一节中讨论。

Windows和Macintosh的APIs 完全不同,例如:

?事件模型不同。在Windows里,你分派消息到 WindowProcs,使用 DefWindowProc 处理你不关心的消息。在 Macintosh里,你有一个大的事件循环来处理所有可能出现的消息。

?Windows使用子窗口的概念,Macintosh 不使用子窗口。

?Windows应用程序可以使用画笔或者画刷绘图, Macintosh 应用程序只能使用画笔。

?Windows中的控件建立在窗口类上,在Macintosh中,控件和窗口没有关系。

?Windows 允许256位的色彩的操作;Macintosh 只允许16位的操作。

因为两个平台之间的这些区别,从一个Windows应用程序到 Macintosh 程序的转变如果没有有力的工具,那将是一个艰巨的任务。

Windows 一直在 Intel x86 处理器上运行 (除了 Windows NT),并且Macintosh 一直在Motorola 680x0 处理器上运行(当然, Macintosh 现在也能在PowerPC上运行)。

两个处理器家族间的区别包括寻址和字节排序,还有opcodes, 指令集,以及寄存器的名字和数量。

Intel 8086 处理器, 以及随后衍生的80x86系列处理器使用16-bit地址,只能支持65,536 bytes 的存储器寻址。为了支持使用更大的内存,Intel 使用分段存储器结构,这样利用16-bit寄存器可以访问1兆(2^20 bytes)内存,还有一个unsigned 16-bit的偏移量。Intel 最初的这种配置已经扩展,允许访问更大的内存了,但是绝大多数现存的Intel程序需要把分离的代码和数据放在64k的段存储器上。

虽然Intel x86处理器从80386已经开始使用32-bit寻址, 但是因为兼容性的原因,Microsoft Windows 3.x实际是一个16-bit程序, 并且所有的Microsoft Windows 应用程序都要写成16位的。这就是说绝大多数的指针和句柄是16 bits 长。Microsoft Windows NT是一个纯32-bit操作系统, 伴随着它的出现,它所有的应用程序都是32-bit 的, 指针和句柄也都是32 bits长。因为 Windows NT 使用线性寻址,程序可以分散在4G的内存里面。

与之对比, Motorola 68000和 PowerPC 处理器只能访问"平坦的" 32-bit存储空间,理论上说,这种平坦的存储空间简化了存储器寻址。实践中,因为4-byte 寻址由于太大不会一直使用, Macintosh 代码一般分到不大于32K的段中存储。

Microsoft Windows 和 Windows NT 只能运行在所谓的 "little-endian" 机器上—处理器把不重要的字节放在前面,把最重要的字节放在最后面,与之对比, Motorola 680x0和PowerPC (一个所谓的 "big-endian" 结构)把最重要的字节放在最前面,紧接着放第二重要的字节,依此类推,最不重要的放在最后面。

编译器通常为你的程序处理字节排序的细节,然而,好的可转换性强的代码从不依赖字节的排序

Microsoft Windows 和 Macintosh 在很多关键地方的用户界面有较大区别,包括菜单,文件名,和多文档界面程序。

Macintosh 只有一个菜单栏,并且不管屏幕上窗口数量和布局如何,它总是处于同一个位置。“活动窗口”包含菜单,这个菜单会随着活动窗口的改变而动态的变化。然而Windows, 给每个处于顶端的窗口以菜单。而且在 MDI时,每一个子窗口可以有自己的菜单, MDI会在下面详细讨论。

Macintosh 应用程序通常包含"Apple menu",它包含了所有桌面安装的附件,以及应用程序的入口。在System 7中, Macintosh 菜单的最右边包含了一个Apple的帮助图标,还有一个负责应用程序之间切换的菜单。

Windows应用程序通常在窗口左上角有一个系统菜单,这个菜单包含系统级功能如窗口大小,移动,关闭窗口,还有一个可以在应用程序之间切换的被称作任务管理器的项目。

通常, Windows程序包含和键盘等效的菜单项目,这些划有底线的字母分布在每一个菜单入口,用户可以用键盘代替鼠标来选择它们。这些是惯例而不是必需的,尽管Macintosh 程序必须有这些等价项。

文件名和路径名是Windows 和 Macintosh之间最大的区别之一,而且也许是最难出的。许多程序员说处理文件名是转换中最费时间和精力的地方。你的Windows应用程序也许能够处理的文件名类似于"C:\ACCTG\DATA\SEPT93.DAT." MS-DOS 和Windows 应用程序遵守传统的8.3 文件格式。另一方面Macintosh 应用程序处理的文件名却类似于"September, 1993 Accounting Data."

MDI窗口允许一个活动窗口框架内有多个子窗口,许多Windows程序,例如Microsoft Word是MDI应用程序。MDI 程序的一个特点是子窗口最小化后,会在MDI 框架内部产生一个图标。每个MDI子窗口也会自己的菜单。

Macintosh 不支持 MDI 窗口,一个应用程序可以打开多个窗口;然而这些窗口不能变成图标,并且它们共享一个菜单。这个区别也许需要程序针对Macintosh 转换而重新设计。

最终你能够继续作你最了解的工作。编写针对Windows API,但又能转换成其它平台版本运行的程序,Visual C++现在使你能够做到这些。保持你的代码的可转换性,时时考虑到转换性能,并且使用有效的工具可以帮助你在多平台之间轻松地跳跃。

工业设计专业英语英文翻译

工业设计原著选读 优秀的产品设计 第一个拨号电话1897年由卡罗耳Gantz 第一个拨号电话在1897年被自动电器公司引入,成立于1891年布朗强,一名勘萨斯州承担者。在1889年,相信铃声“中央交换”将转移来电给竞争对手,强发明了被拨号系统控制的自动交换机系统。这个系统在1892年第一次在拉波特完成史端乔系统中被安装。1897年,强的模型电话,然而模型扶轮拨条的位置没有类似于轮齿约170度,以及边缘拨阀瓣。电话,当然是被亚历山大格雷厄姆贝尔(1847—1922)在1876年发明的。第一个商业交换始建于1878(12个使用者),在1879年,多交换机系统由工程师勒罗伊B 菲尔曼发明,使电话取得商业成功,用户在1890年达到250000。 直到1894年,贝尔原批专利过期,贝尔电话公司在市场上有一个虚拟的垄断。他们已经成功侵权投诉反对至少600竞争者。该公司曾在1896年,刚刚在中央交易所推出了电源的“普通电池”制度。在那之前,一个人有手摇电话以提供足够的电力呼叫。一个连接可能仍然只能在给予该人的名义下提出要求达到一个电话接线员。这是强改变的原因。 强很快成为贝尔的强大竞争者。他在1901年引进了一个桌面拨号模型,这个模型在设计方面比贝尔的模型更加清晰。在1902年,他引进了一个带有磁盘拨号的墙面电话,这次与实际指孔,仍然只有170度左右在磁盘周围。到1905年,一个“长距离”手指孔已经被增加了。最后一个强的知名模型是在1907年。强的专利大概过期于1914年,之后他或他的公司再也没有听到过。直到1919年贝尔引进了拨号系统。当他们这样做,在拨号盘的周围手指孔被充分扩展了。 强发明的拨号系统直到1922年进入像纽约一样的大城市才成为主流。但是一旦作为规规范被确立,直到70年代它仍然是主要的电话技术。后按键式拨号在1963年被推出之后,强发明的最初的手指拨号系统作为“旋转的拨号系统”而知名。这是强怎样“让你的手指拨号”的。 埃姆斯椅LCW和DCW 1947 这些带有复合曲线座位,靠背和橡胶防震装置的成型胶合板椅是由查尔斯埃姆斯设计,在赫曼米勒家具公司生产的。 这个原始的概念是被查尔斯埃姆斯(1907—1978)和埃罗沙里宁(1910—1961)在1940年合作构想出来的。在1937年,埃姆斯成为克兰布鲁克学院实验设计部门的领头人,和沙里宁一起工作调查材料和家具。在这些努力下,埃姆斯发明了分成薄片和成型胶合板夹板,被称作埃姆斯夹板,在1941年收到了来自美国海军5000人的订单。查尔斯和他的妻子雷在他们威尼斯,钙的工作室及工厂和埃文斯产品公司的生产厂家一起生产了这批订单。 在1941年现代艺术博物馆,艾略特诺伊斯组织了一场比赛用以发现对现代生活富有想象力的设计师。奖项颁发给了埃姆斯和沙里宁他们的椅子和存储碎片,由包括埃德加考夫曼,大都会艺术博物馆的阿尔弗雷德,艾略特诺伊斯,马尔塞布鲁尔,弗兰克帕里什和建筑师爱德华达雷尔斯通的陪审团裁决。 这些椅子在1946年的现代艺术展览博物馆被展出,查尔斯埃姆斯设计的新的家具。当时,椅子只有三条腿,稳定性问题气馁了大规模生产。 早期的LCW(低木椅)和DWC(就餐木椅)设计有四条木腿在1946年第一次被埃文斯产品公司(埃姆斯的战时雇主)生产出来,被赫曼米勒家具公司分配。这些工具1946年被乔治纳尔逊为赫曼米勒购买,在1949年接手制造权。后来金属脚的愿景在1951年制作,包括LCW(低金属椅)和DWC(就餐金属椅)模型。配套的餐饮和咖啡桌也产生。这条线一直

施工组织设计外文翻译

摘要: 建筑工程在施工过程中,施工组织方案的优劣不仅直接影响工程的质量,对工期及施工过程中的人员安全也有重要影响。施工组织是项目建设和指导工程施工的重要技术经济文件。能调节施工中人员、机器、原料、环境、工艺、设备、土建、安装、管理、生产等矛盾,要对施工组织设计进行监督和控制,才能科学合理的保证工程项目高质量、低成本、少耗能的完成。 关键词: 项目管理施工组织方案重要性 施工组织设计就是对工程建设项目整个施工过程的构思设想和具体安排,是施工组织管理工作的核心和灵魂。其目的是使工程速度快、质量好、效益高。使整个工程在施工中获得相对的最优效果。 1.编制施工组织设计重要性的原因 建筑工程及其施工具有固定性与流动性、多样性与单件性、形体庞大与施工周期长这三对特点。所以,每一建筑工程的施工都必须进行施工组织设计。这是因为:其它一般工业产品的生产都有着自己固定的、长期适用的工厂。而建筑施工具有流动性的特点,不可能建立这样的工厂,只能是当每一个建筑工程施工时,建立一个相应的、临时性的,如同工厂作用性质的施工现场准备,即工地。施工单件性特点与施工流动性特点,决定了每一建筑工程施工都要选择相应的机具和劳动力组织。选择施工方法、拟定施工技术方案及其劳动力组织和机具配置,统称为施工作业能力配置。施工周期的特点,决定了各种劳动力、机具和众多材料物资技术的供应时间也比较长,这就产生了与施工总进度计划相适应的物资技术的施工组织设计内容。由此可见,施工组织设计在项目管理中是相当重要的。 2.施工组织设计方案的重要性 建筑产品作为一种商品,在项目管理中工程质量在整个施工过程中起着极其重要的作用。工程建设项目的施工组织设计与其工程造价有着密切的关系。施工组织设计基本的内容有:工程概况和施工条件的分析、施工方案、施工工艺、施工进度计划、施工总平面图。还有经济分析和施工准备工作计划。其中,施工方案及施工工艺的确定更为重要,如:施工机械的选择、水平运输方法的选择、土方的施工方法及主体结构的施工方法和施工工艺的选择等等,均直接影响着工程预算价格的变化。在保证工程质量和满足业主使用要求及工期要求的前提下,优化施工方案及施工工艺是控制投资和降低工程项目造价的重要措施和手段。 2.1施工组织方案在很大程度上影响着工程质量,因此合理的施工组织方案不仅是确保工程顺利完成的基础,也是工程安全的依据。施工组织设计是建筑工

零售企业营销策略中英文对照外文翻译文献

零售企业营销策略中英文对照外文翻译文献(文档含英文原文和中文翻译)

译文: 零售企业的营销策略 Philip Kotlor 今天的零售商为了招徕和挽留顾客,急欲寻找新的营销策略。过去,他们挽留顾客的方法是销售特别的或独特的花色品种,提供比竞争对手更多更好的服务提供商店信用卡是顾客能赊购商品。可是,现在这一切都已变得面目全非了。现在,诸如卡尔文·克连,依佐和李维等全国性品牌,不仅在大多数百货公司及其专营店可以看到,并且也可以在大型综合商场和折扣商店可以买到。全国性品牌的生产商为全力扩大销售量,它们将贴有品牌的商品到处销售。结果是零售商店的面貌越来越相似。 在服务项目上的分工差异在逐渐缩小。许多百货公司削减了服务项目,而许多折扣商店却增加了服务项目。顾客变成了精明的采购员,对价格更加敏感。他们看不出有什么道理要为相同的品牌付出更多的钱,特别是当服务的差别不大或微不足道时。由于银行信用卡越来越被所有的商家接受,他们觉得不必从每个商店赊购商品。 百货商店面对着日益增加的价格的折扣店和专业商店的竞争,准备东山再起。历史上居于市中心的许多商店在郊区购物中心开设分店,那里有宽敞的停车场,购买者来自人口增长较快并且有较高收入的地区。其他一些则对其商店形式进行改变,有些则试用邮购盒电话订货的方法。超级市场面对的是超级商店的竞争,它们开始扩大店面,经营大量的品种繁多的商品和提高设备等级,超级市场还增加了它们的促销预算,大量转向私人品牌,从而增加盈利。 现在,我们讨论零售商在目标市场、产品品种和采办、服务以及商店气氛、定价、促销和销售地点等方面的营销策略。 一、目标市场 零售商最重要的决策时确定目标市场。当确定目标市场并且勾勒出轮廓时,零售商才能对产品分配、商店装饰、广告词和广告媒体、价格水平等作出一致的决定。如沃尔玛的目标市场相当明确:

网络营销外文翻译

E---MARKETING (From:E--Marketing by Judy Strauss,Adel El--Ansary,Raymond Frost---3rd ed.1999 by Pearson Education pp .G4-G25.) As the growth of https://www.doczj.com/doc/ba18396383.html, shows, some marketing principles never change.Markets always welcome an innovative new product, even in a crowded field of competitors ,as long as it provides customer value.Also,Google`s success shows that customers trust good brands and that well-crafted marketing mix strategies can be effective in helping newcomers enter crowded markets. Nevertheless, organizations are scrambling to determine how they can use information technology profitably and to understand what technology means for their business strategies. Marketers want to know which of their time-ested concepts will be enhanced by the Internet, databases,wireless mobile devices, and other technologies. The rapid growth of the Internet and subsequent bursting of the dot-com bubble has marketers wondering,"What next?" This article attempts to answer these questions through careful and systematic examination of successful e-mar-keting strategies in light of proven traditional marketing practices. (Sales Promotion;E--Marketing;Internet;Strategic Planning ) 1.What is E--Marketing E--Marketing is the application of a broad range of information technologies for: Transforming marketing strategies to create more customer value through more effective segmentation ,and positioning strategies;More efficiently planning and executing the conception, distribution promotion,and pricing of goods,services,and ideas;andCreating exchanges that satisfy individual consumer and organizational customers` objectives. This definition sounds a lot like the definition of traditional marketing. Another way to view it is that e-marketing is the result of information technology applied to traditional marketing. E-marketing affects traditional marketing in two ways. First,it increases efficiency in traditional marketing strategies.The transformation results in new business models that add customer value and/or increase company profitability.

工业设计外文翻译

Interaction design Moggridge Bill Interaction design,Page 1-15 USA Art Press, 2008 Interaction design (IxD) is the study of devices with which a user can interact, in particular computer users. The practice typically centers on "embedding information technology into the ambient social complexities of the physical world."[1] It can also apply to other types of non-electronic products and services, and even organizations. Interaction design defines the behavior (the "interaction") of an artifact or system in response to its users. Malcolm McCullough has written, "As a consequence of pervasive computing, interaction design is poised to become one of the main liberal arts of the twenty-first century." Certain basic principles of cognitive psychology provide grounding for interaction design. These include mental models, mapping, interface metaphors, and affordances. Many of these are laid out in Donald Norman's influential book The Psychology of Everyday Things. As technologies are often overly complex for their intended target audience, interaction design aims to minimize the learning curve and to increase accuracy and efficiency of a task without diminishing usefulness. The objective is to reduce frustration and increase user productivity and satisfaction. Interaction design attempts to improve the usability and experience of the product, by first researching and understanding certain users' needs and then designing to meet and exceed them. (Figuring out who needs to use it, and how those people would like to use it.) Only by involving users who will use a product or system on a regular basis will designers be able to properly tailor and maximize usability. Involving real users, designers gain the ability to better understand user goals and experiences. (see also: User-centered design) There are also positive side effects which include enhanced system capability awareness and user ownership. It is important that the user be aware of system capabilities from an early stage so that expectations regarding functionality are both realistic and properly understood. Also, users who have been active participants in a product's development are more likely to feel a sense of ownership, thus increasing overall satisfa. Instructional design is a goal-oriented, user-centric approach to creating training and education software or written materials. Interaction design and instructional design both rely on cognitive psychology theories to focus on how users will interact with software. They both take an in-depth approach to analyzing the user's needs and goals. A needs analysis is often performed in both disciplines. Both, approach the design from the user's perspective. Both, involve gathering feedback from users, and making revisions until the product or service has been found to be effective. (Summative / formative evaluations) In many ways, instructional

土木工程外文文献翻译

专业资料 学院: 专业:土木工程 姓名: 学号: 外文出处:Structural Systems to resist (用外文写) Lateral loads 附件:1.外文资料翻译译文;2.外文原文。

附件1:外文资料翻译译文 抗侧向荷载的结构体系 常用的结构体系 若已测出荷载量达数千万磅重,那么在高层建筑设计中就没有多少可以进行极其复杂的构思余地了。确实,较好的高层建筑普遍具有构思简单、表现明晰的特点。 这并不是说没有进行宏观构思的余地。实际上,正是因为有了这种宏观的构思,新奇的高层建筑体系才得以发展,可能更重要的是:几年以前才出现的一些新概念在今天的技术中已经变得平常了。 如果忽略一些与建筑材料密切相关的概念不谈,高层建筑里最为常用的结构体系便可分为如下几类: 1.抗弯矩框架。 2.支撑框架,包括偏心支撑框架。 3.剪力墙,包括钢板剪力墙。 4.筒中框架。 5.筒中筒结构。 6.核心交互结构。 7. 框格体系或束筒体系。 特别是由于最近趋向于更复杂的建筑形式,同时也需要增加刚度以抵抗几力和地震力,大多数高层建筑都具有由框架、支撑构架、剪力墙和相关体系相结合而构成的体系。而且,就较高的建筑物而言,大多数都是由交互式构件组成三维陈列。 将这些构件结合起来的方法正是高层建筑设计方法的本质。其结合方式需要在考虑环境、功能和费用后再发展,以便提供促使建筑发展达到新高度的有效结构。这并

不是说富于想象力的结构设计就能够创造出伟大建筑。正相反,有许多例优美的建筑仅得到结构工程师适当的支持就被创造出来了,然而,如果没有天赋甚厚的建筑师的创造力的指导,那么,得以发展的就只能是好的结构,并非是伟大的建筑。无论如何,要想创造出高层建筑真正非凡的设计,两者都需要最好的。 虽然在文献中通常可以见到有关这七种体系的全面性讨论,但是在这里还值得进一步讨论。设计方法的本质贯穿于整个讨论。设计方法的本质贯穿于整个讨论中。 抗弯矩框架 抗弯矩框架也许是低,中高度的建筑中常用的体系,它具有线性水平构件和垂直构件在接头处基本刚接之特点。这种框架用作独立的体系,或者和其他体系结合起来使用,以便提供所需要水平荷载抵抗力。对于较高的高层建筑,可能会发现该本系不宜作为独立体系,这是因为在侧向力的作用下难以调动足够的刚度。 我们可以利用STRESS,STRUDL 或者其他大量合适的计算机程序进行结构分析。所谓的门架法分析或悬臂法分析在当今的技术中无一席之地,由于柱梁节点固有柔性,并且由于初步设计应该力求突出体系的弱点,所以在初析中使用框架的中心距尺寸设计是司空惯的。当然,在设计的后期阶段,实际地评价结点的变形很有必要。 支撑框架 支撑框架实际上刚度比抗弯矩框架强,在高层建筑中也得到更广泛的应用。这种体系以其结点处铰接或则接的线性水平构件、垂直构件和斜撑构件而具特色,它通常与其他体系共同用于较高的建筑,并且作为一种独立的体系用在低、中高度的建筑中。

市场营销策略论文中英文资料对照外文翻译

市场营销策略 1 市场细分和目标市场策略 具有需求,具有购买能力并愿意花销的个体或组织构成了市场。然而,在大多数市场中,购买者的需求不一致。因此,对整个市场采用单一的营销计划可能不会成功。一个合理的营销计划应以区分市场中存在的差异为起点,这一过程被称为市场细分,它还包括将何种细分市场作为目标市场。 市场细分使公司能更加有效地利用其营销资源。而且,也使得小公司可以通过集中在一两个细分上场上有效地参与竞争。市场细分的明显缺点是,其导致了比单一产品、单一大市场策略更高的生产和营销成本。但是,如果市场细分得当的话,更加符合消费者的需求,实际上将生产更高的效率。 确定目标市场有三种可供选择的策略,它们是统一市场、单一细分市场和多重细分市场。统一市场策略即采取一种营销组合用到一个整体的、无差异的市场中去。采取单一细分市场策略,公司仍然仅有一种营销组合,但它只用在整个市场的一个细分市场中。多重细分市场策略需要选择两个或更多的细分市场,并且每个细分市场分别采用一种单独的营销组合。 2 产品定位 管理者将注意力集中于一种品牌,并以恰当的方式将其与类似的品牌相区分,但这并不意味着该品牌就一定能够最后赢利。因此,管理者需要进行定位,即塑造与竞争品牌和竞争对手的其他品牌相关的自我品牌形象。 市场营销人员可以从各种定位策略中加以选择。有时,他们决定对某一特定产品采用一种以上的策略。以下是几种主要的定位策略: 2.1与竞争者相关的定位 对一些产品来说,最佳的定位是直接针对竞争对手。该策略特别适用于已经具有固定的差别优势或试图强化这种优势的厂商。为排挤微处理器的竞争对手,Intel公司开展了一项活动使用户确信它的产品优于竞争对手的产品。公司甚至为电脑制造商出钱,让它们在自己的广告中带上“Intel Inside”标志。作为市场领导者,可口可乐公司推出新产品并实施其市场营销策略。同时,它密切注视百事可乐公司,以确保对主要竞争对手的任何一次巧妙、有效的营销举措采取相应的对策。 2.2 与产品类别和属性相关的定位 有时候,公司的定位策略有必要将自己的产品与其类别和属性相联系(或相区别)。一些公司尽力将其产品定位在期望的类别中,如“美国制造”。用一句某顾问的话来说,“当你说‘美国制造’的时候,有一种强烈的感情因素在吸引着你”。因此,一家名为Boston Preparatory的规模不大的运动服制造商正在运用这种定位策略,以期胜过那些并非所有产品都在美国制造的势力强大的竞争对手如Calvin Kiein和Tommy Hilfiger。 2.3 通过价格和质量定位 某些生产者和零售商因其高质量和高价格而闻名。在零售行业,Saks Fifth Avenue和Neiman Marcus公司正是定位于该价格—质量策略的。折扣店Target Kmart则是定位于该策略的反面。我们不是说折扣商店忽视质量,而是说它们更加强调低廉的价格。Penny's公司努力—并且大多获得了成功—通过升级高级服装线和强调设计者的名字将其商店定位于价格—质量策略上。 “品牌”一词是个综合性的概念,它包含其他更狭义的理解。品牌即一个名称和(或)标志,用以识别一个销售者或销售集团的产品,并将之与竞争产品相区别。 品牌名称由能够发音的单词、字母和(或)数字组成。品牌标志是品牌的一部分,它以符号、图案或醒目的颜色、字体的形式出现。品牌标志通过视觉识别,但当人们仅仅读出品牌名称的时候,品牌标志并不能够被表达出来。Crest、Coors、Gillette都是品牌名称。AT&T由醒目的线条构成的地球以及Ralph Lauren's Polo的马和骑手是品牌标志,而Green Giant(罐装冷冻菜蔬产品)和Arm&Hammer(面包苏打)既是品牌名称又是品牌标志。 商标是销售者已经采用并且受到法律保护的品牌。商标不仅包括品牌标志,如许多人所认为的那样,也包括品牌名称。1946年的The Lanham Art法案允许厂商向联邦政府注册商标,以保护它们免受其他厂商的使用或误

工业设计产品设计中英文对照外文翻译文献

(文档含英文原文和中文翻译) 中英文翻译原文:

DESIGN and ENVIRONMENT Product design is the principal part and kernel of industrial design. Product design gives uses pleasure. A good design can bring hope and create new lifestyle to human. In spscificity,products are only outcomes of factory such as mechanical and electrical products,costume and so on.In generality,anything,whatever it is tangibile or intangible,that can be provided for a market,can be weighed with value by customers, and can satisfy a need or desire,can be entiled as products. Innovative design has come into human life. It makes product looking brand-new and brings new aesthetic feeling and attraction that are different from traditional products. Enterprose tend to renovate idea of product design because of change of consumer's lifestyle , emphasis on individuation and self-expression,market competition and requirement of individuation of product. Product design includes factors of society ,economy, techology and leterae humaniores. Tasks of product design includes styling, color, face processing and selection of material and optimization of human-machine interface. Design is a kind of thinking of lifestyle.Product and design conception can guide human lifestyle . In reverse , lifestyle also manipulates orientation and development of product from thinking layer.

施工组织设计外文翻译

XXXXXXXXX 毕业设计(论文)外文翻译 学生姓名: 院(系): 专业班级: 指导教师: 完成日期:

施工组织设计的重要性 摘要: 建筑工程在施工过程中,施工组织方案的优劣不仅直接影响工程的质量,对工期及施工过程中的人员安全也有重要影响。施工组织是项目建设和指导工程施工的重要技术经济文件。能调节施工中人员、机器、原料、环境、工艺、设备、土建、安装、管理、生产等矛盾,要对施工组织设计进行监督和控制,才能科学合理的保证工程项目高质量、低成本、少耗能的完成。 关键词: 项目管理施工组织方案重要性 施工组织设计就是对工程建设项目整个施工过程的构思设想和具体安排,是施工组织管理工作的核心和灵魂。其目的是使工程速度快、质量好、效益高。使整个工程在施工中获得相对的最优效果。 1.编制施工组织设计重要性的原因 建筑工程及其施工具有固定性与流动性、多样性与单件性、形体庞大与施工周期长这三对特点。所以,每一建筑工程的施工都必须进行施工组织设计。这是因为:其它一般工业产品的生产都有着自己固定的、长期适用的工厂。而建筑施工具有流动性的特点,不可能建立这样的工厂,只能是当每一个建筑工程施工时,建立一个相应的、临时性的,如同工厂作用性质的施工现场准备,即工地。施工单件性特点与施工流动性特点,决定了每一建筑工程施工都要选择相应的机具和劳动力组织。选择施工方法、拟定施工技术方案及其劳动力组织和机具配置,统称为施工作业能力配置。施工周期的特点,决定了各种劳动力、机具和众多材料物资技术的供应时间也比较长,这就产生了与施工总进度计划相适应的物资技术的施工组织设计内容。由此可见,施工组织设计在项目管理中是相当重要的。 2.施工组织设计方案的重要性 建筑产品作为一种商品,在项目管理中工程质量在整个施工过程中起着极其重要的作用。工程建设项目的施工组织设计与其工程造价有着密切的关系。施工组织设计基本的内容有:工程概况和施工条件的分析、施工方案、施工工艺、施工进度计划、施工总平面图。还有经济分析和施工准备工作计划。其中,施工方案及施工工艺的确定更为重要,如:施工机械的选择、水平运输方法的选择、土方的施工方法及主体结构的施工方法和施工工艺的选择等等,均直接影响着工程预算价格的变化。在保证工程质量和满足业主使用要求及工期要求的前提下,优化施工方案及施工工艺是控制投资和降低工程项目造价的重要措施和手段。 2.1施工组织方案在很大程度上影响着工程质量,因此合理的施工组织方案 不仅是确保工程顺利完成的基础,也是工程安全的依据。施工组织设计是建筑工程设计文件的重要组成部分,是编制工程投资概预算的主要依据和编制招投标文件的

营销-外文翻译

外文翻译 原文 Marketing Material Source:Marketing Management Author:Philip Kotler Marketing Channels To reach a target market, the marketer uses three kinds of marketing channels. Communication channels deliver messages to and receive messages from target buyers. They include newspapers, magazines, radio, television, mail, telephone, billboards, posters, fliers, CDs, audiotapes, and the Internet. Beyond these, communications are conveyed by facial expressions and clothing, the look of retail stores, and many other media. Marketers are increasingly adding dialogue channels (e-mail and toll-free numbers) to counterbalance the more normal monologue channels (such as ads). The marketer uses distribution channels to display or deliver the physical product or service to the buyer or user. There are physical distribution channels and service distribution channels, which include warehouses, transportation vehicles, and various trade channels such as distributors, wholesalers, and retailers. The marketer also uses selling channels to effect transactions with potential buyers. Selling channels include not only the distributors and retailers but also the banks and insurance companies that facilitate transactions. Marketers clearly face a design problem in choosing the best mix of communication, distribution, and selling channels for their offerings. Supply Chain Whereas marketing channels connect the marketer to the target buyers, the supply chain describes a longer channel stretching from raw materials to components to final products that are carried to final buyers. For example, the supply chain for women’s purses starts with hides, tanning operations, cutting operations, manufacturing, and the marketing channels that bring products to customers. This supply chain represents a value delivery system. Each company captures only a certain percentage of the total value generated by the supply chain. When a company acquires competitors or moves upstream or downstream, its aim is

工业设计外文翻译---不需要设计师的设计

Design Without Designers 网站截图: https://www.doczj.com/doc/ba18396383.html,/baidu?word=%B9%A4%D2%B5%C9%E8%BC%C6%D3%A2%CE%C4%CE%C4%CF%D 7&tn=sogouie_1_dg 原文: Design Without Designers I will always remember my first introduction to the power of good product design. I was newly arrived at Apple, still learning the ways of business, when I was visited by a member of Apple's Industrial Design team. He showed me a foam mockup of a proposed product. "Wow," I said, "I want one! What is it?" That experience brought home the power of design: I was excited and enthusiastic even before I knew what it was. This type of visceral "wow" response requires creative designers. It is subjective, personal. Uh oh, this is not what engineers like to hear. If you can't put a number to it, it's not important. As a result, there is a trend to eliminate designers. Who needs them when we can simply test our way to success? The excitement of powerful, captivating design is defined as irrelevant. Worse, the nature of design is in danger. Don't believe me? Consider Google. In a well-publicized move, a senior designer at Google recently quit, stating that Google had no interest in or understanding of design. Google, it seems, relies primarily upon test results, not human skill or judgment. Want to know whether a design is effective? Try it out. Google can quickly submit samples to millions of people in well-controlled trials, pitting one design against another, selecting the winner based upon number of clicks, or sales, or whatever objective measure they wish. Which color of blue is best? Test. Item placement? Test. Web page layout? Test. This procedure is hardly unique to Google. https://www.doczj.com/doc/ba18396383.html, has long followed this practice. Years ago I was proudly informed that they no longer have debates about which design is best: they simply test them and use the data to decide. And this, of course, is the approach used by the human-centered iterative design approach: prototype, test, revise. Is this the future of design? Certainly there are many who believe so. This is a hot topic on the talk and seminar circuit. After all, the proponents ask reasonably, who could object to making decisions based upon data? Two Types of Innovation: Incremental Improvements and New Concepts In design—and almost all innovation, for that matter—there are at least two distinct forms. One is

工业工程英文文献及外文翻译

附录 附录1:英文文献 Line Balancing in the Real World Abstract:Line Balancing (LB) is a classic, well-researched Operations Research (OR) optimization problem of significant industrial importance. It is one of those problems where domain expertise does not help very much: whatever the number of years spent solving it, one is each time facing an intractable problem with an astronomic number of possible solutions and no real guidance on how to solve it in the best way, unless one postulates that the old way is the best way .Here we explain an apparent paradox: although many algorithms have been proposed in the past, and despite the problem’s practical importance, just one commercially available LB software currently appears to be available for application in industries such as automotive. We speculate that this may be due to a misalignment between the academic LB problem addressed by OR, and the actual problem faced by the industry. Keyword:Line Balancing, Assembly lines, Optimization

相关主题
文本预览
相关文档 最新文档