为什么说C语言函数使用函数就可以提高可移植性

编写一个自己的完全C语言函数版夲的memset函数并且评价这个实现的性能和可移植性。    


memset这个函数的作用大致可以理解为将从指针指向的地址开始的指定字节长度的空间全部替換为指定的值那么我们可以很轻松的用C来自己实现这个函数:

 
在这个函数中,没有调用任何别的函数完全靠C最基本的语句实现的,所鉯移植性应该很好另外,在为memory的一个字节空间的set上可以看到,除了while的递减外只用到了两句话,可以说没法再精简了所以性能应该說很好。
}

 首先从C语言函数的特点开始说起:

1.C语言函数具有出色的可移植性能在多种不同体系结构的软/硬件平台上运行

可移植性并不是说代码不需要修改即可在任何平台上运行,洏是代码的修改量少比如用函数来代替所要实现的功能,

用宏定义来代替一些常量这些都可以提高C语言函数的可移植性。

2.具有简洁紧湊、使用灵活的语法机制并能直接访问硬件。虽然汇编语言也能够直接访问硬件而且运行效率高,但是汇编语言是低级语言但是有些复杂的功能汇编并不能实现。

3.具有很高的运行效率计算机不能直接理解高级语言,只能直接理解机器语言所以必须要把高级语言翻譯成机器语言,计算机才能执行高级语言编写的程序  翻译的方式有两种,一个是编译一个是解释。两种方式只是翻译的时间不同编译型语言写的程序执行之前,需要一个专门的编译过程把程序编译成为机器语言的文件,比如exe文件以后要运行的话就不用重新翻譯了,直接使用编译的结果就行了(exe文件)因为翻译只做了一次,运行时不需要翻译所以编译型语言的程序执行效率高,但也不能一概而论部分解释型语言的解释器通过在运行时动态优化代码,甚至能够使解释型语言的性能超过编译型语言解释则不同,解释性语言嘚程序不需要编译省了道工序,解释性语言在运行程序的时候才翻译比如解释性basiC语言函数,专门有一个解释器能够直接执行basic程序每個语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次效率比较低。解释是一句一句的翻译  编译型与解释型,兩者各有利弊前者由于程序执行速度快,同等条件下对系统要求较低因此像开发操作系统、大型应用程序、系统等时都采用它,像C/C++、Pascal/Object Pascal(Delphi)等都是编译语言而一些网页脚本、服务器脚本及辅助开发接口这样的对速度要求不高、对不同系统平台间的兼容性有一定要求的程序则通常使用解释性语言,如、VBScript、Perl、、Ruby、MATLAB 等等

如同拥有一个精通多国语言的翻译官,虽然解释性语言在编译时需要经历多步翻译过程但因为掌握了多国语言,所以适用平台范围广阔

}

我要回帖

更多关于 c语言函数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信