首页语言教学跨语言教学设计,跨语言教学设计心得体会

跨语言教学设计,跨语言教学设计心得体会

cysgjjcysgjj时间2024-07-06 13:53:51分类语言教学浏览17
导读:大家好,今天小编关注到一个比较有意思的话题,就是关于跨语言教学设计的问题,于是小编就整理了2个相关介绍跨语言教学设计的解答,让我们一起看看吧。跨文化语言交际风格分类?为什么说c,c++不能跨平台,编译器是在计算机操作系统上的吗,难道说编译器不在c,c++程序里吗?跨文化语言交际风格分类?跨文化语言交际风格可以分……...

大家好,今天小编关注到一个比较意思的话题,就是关于跨语言教学设计问题,于是小编就整理了2个相关介绍跨语言教学设计的解答,让我们一起看看吧。

  1. 跨文化语言交际风格分类?
  2. 为什么说c,c++不能跨平台,编译器是在计算机操作系统上的吗,难道说编译器不在c,c++程序里吗?

文化语言交际风格分类?

跨文化语言交际风格可以分为以下几类:
1. 高度规范化风格(Highly Normative Style):这类风格在语言交际中秉持着较为明确的规范和准则。使用者通常注重正式和礼貌的用词,尊重权威和传统,遵守社会规范,并尽可能避免冒犯他人。
2. 低度规范化风格(Low Normative Style):与高度规范化风格相反,低度规范化风格的使用者更加自由自在,在语言和表达上更加放松。他们可能使用非正式语言、幽默、讽刺等手法来表达自己,相对不太注重礼貌、听众的感受和社会规范。
3. 直接风格(Direct Style):直接风格的使用者通常以直接、直言不讳的方式表达自己的想法和感受。他们直截了当地提出问题、表达需求和指示,不太注重委婉和间接的语言方式。
4. 间接风格(Indirect Style):与直接风格相对,间接风格的使用者倾向于通过暗示、含蓄的方式表达自己的意思。他们可能使用委婉、模糊的语言来传达信息,注重保持面子、避免冲突和尊重他人的感受。
5. 同伦风格(Homologous Style):同伦风格的使用者偏向于与自己所属文化群体中的人保持一致,遵循共同的语言风格和交际准则。他们更加注重传统、社会认同和归属感。
6. 异质风格(Heteroglossic Style):异质风格的使用者具有多样化的语言风格和交际方式,能够灵活地适应不同文化和社交场景。他们可能运用多种语言策略,以及跨文化的表达方式来进行交际。

什么说c,c++不能跨平台编译器是在计算机操作系统上的吗,难道说编译器不在c,C++程序里吗?

不同角度看,C跟C++写的代码也能跨平台复用。

跨语言教学设计,跨语言教学设计心得体会
图片来源网络,侵删)

说C跟C++不能跨平台,是说编译生成的执行程序是不能跨平台

c跟C++,下面统称C,在各操作系统中生成可执行文件。就需要经过编译器编译,链接,生成本地执行程序。

1)链接过程就可能用到操作系统的接口,比如Windows上DLL,动态库,这些库里是系统提供的功能,比如音频播放。

跨语言教学设计,跨语言教学设计心得体会
(图片来源网络,侵删)

比如在Linux上会是个so库。

2)比如操作系统可能是32位操作系统,也可能是64位操作系统。

这样编译过程中,为程序分配的堆栈跟存储空间,都会不一样。

跨语言教学设计,跨语言教学设计心得体会
(图片来源网络,侵删)

代码本身,如果写的基础功能,在不同平台上也是可以复用的

好的工程代码,设计系统的时候,都尽量考虑跨平台可复用性。

比如图像处理,C代码层调用OpenGL,那么绝大部分代码是可以复用的。加一个开关就可以切换调用不同平台的库,可以用在Windows、Linux、还有各个手机操作系统上。

代码尽量考虑系统兼容性跟模块化

模块化的代码会是优质的代码。

为什么C工程师能越老越吃香,因为积累了大量的优质功能代码。可以简单编写解释型代码如java,通过JNI来调用库,又高效又快捷。

以上是对问题的理解,一起加油。

首先我们纠正一下题目中一个小小的误区,不是C和C++不能跨平台,应该是说是C/C++源代码在编译后生成的

.exe

想要搞明白这个问题,我们先得了解一下源代码是怎么变成程序的。

当我们编写完代码后,源代码会经过上述的四个环节,最终变成常见的可执行文件。

预处理阶段(hello.i):在源代码中会有头文件,一些宏,注释等。预处理的目的就是将头文件展开,宏文件代换,去掉注释等,对代码进行一些初步的处理

编译阶段(hello.s):这一阶段主要是检查语法上的错误,比如内存有没有溢出,指针有没有指错对象,然后生成可汇编文件。

汇编阶段(hello.o):计算机是不认识代码的,所以需要将汇编代码转换成0和1组成的机器码

链接(a.out):链接有两种情况:静态和动态。静态库和应用程序编译在一起,在任何情况下都能运行;而动态库是动态链接,文件生效时才会调用。最终生成一个可执行文件。

我们不要把编译器想的太厉害,觉得编译器是万能的。实际上编译器就像是一个翻译,负责把高级语言转变成机器能看懂的低级语言,翻译过程就是上述的四个过程。但是其中有一点需要格外注意。那就是不同的公司使用的指令集不同。输出程序的格式和CPU使用的指令集有关,比如X86,arm,还有MIPS等等, 由于设计思路的差异,所以不同平台上编译生成后的可执行文件格式是不一样的,可能在ubantu里能运行的C程序,放到windows下就会报错。

类比一下JAVA,为什么说j***a可以跨平台,是因为j***a内置了一个虚拟机,程序都从虚拟机中跑的,所以有人说“j***a不仅是一种语言,更是一个平台”。

综上所述,C/C++的一些基础性代码是可以跨平台的(可能会受API影响),是生成的可执行文件不能跨平台,C/C++不自带编译器,不同平台下的编译器存在差异。

从事软件开发多年对于C/C++用的比较多,可以明确说这两种编程语言也是支持跨平台,肯定还是有很多人问什么是真正意义上的跨平台,所谓的跨平台就是同一套代码在不同的操作系统都能直接去运行,这里面涉及到一个很重要的问题,在j***a这门编程语言刚开始流行的时候就提到了跨平台的功能,在windows上运行的jar包直接放在linux上也能直接去运行,单纯从C/C++角度出发也是能够实现这种功能的,因为其语法实现是相同的。

但在具体实施操作过程中还是多少有些差异,特别是涉及到操作系统接口等方面,毕竟linux和windows编程给出的api的接口还是存在一定的差异,所以单纯的谈跨平台还是有点差异,针对这种情况一般在软件架构里面会区分出很多的平台代码,在具体软件的核心架构上代码是一致的,和平台相关的代码还是需要单独去实现,就拿简单的线程的实现,不同的操作系统的接口就存在很大的差异,所以完全意义上的跨平台方面距离高级编程语言还是存在差异。

谈到编译器就需要了解程序执行的原理,现在计算机的架构都是基于冯诺依曼的架构来完成的,具体执行的格式都是二进制的格式,不同的操作系统生成不同格式的二进制文件,从代码到可执行的二进制代码之间还需要有一种工具存在,这就是编译器存在的价值,编译器的执行中也是分为几个阶段,对于linux下C语言编译过程有所了解的话,都会发现后缀为

.c

的程序文件首先转化成

.o

的中间文件,然后经过

.o

转化成可执行的二进制文件。编译器其实就是一种转化工具,将程序转化成能够运行的二进制文件,一般而言C/C++编译器是可以通用的,不同的操作系统使用不用的编译器底层。

编译器是一种工具包的***,内部的实现也涉及到C/C++的编程,编译器的通常说的编程代码还是存在一定的差异,编译器是为代码转化做服务的,真正实现跨平台的基础部件编译器算是一种,因为不同的操作系统或者计算机架构需要具体的对应实现,虽然对于高级语言来讲不需要关心底层如果来实现的,但是总得有人去操作这件事,相对来讲j***a语言这方面做得比较彻底,直接通过一个虚拟机来完成屏蔽,虚拟机里面兼容了市面上常见的操作系统,这样就能够真正意义上做到了编程语言的跨平台。

越是底层编程语言和平台关联越大,关心的细节也会越多的,底层语言的开发难度相对大一些,特别是涉及到平台的指针等方面关心的硬件细节,所以对于底层编程语言积累的时间需要比较长,想对比其他高级编程语言还是难度大一些,特别是在入门的时候显得困难一些,但是入门之后会更加有意思。

到此,以上就是小编对于跨语言教学设计的问题就介绍到这了,希望介绍关于跨语言教学设计的2点解答对大家有用。

[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。转载请注明出处:http://www.mediationoklahomacity.com/post/37306.html

编译器跨平台代码
大花苗语言教学,大花苗苗文教学视频 宋朝文字演变过程,宋朝文字演变过程图片