C语言应用范围有哪些?
C语言使用地极其广泛,在主流操作系统内核和驱动,系统级应用程序和编译器、解释器中应用广泛。macOS/Windows/Linux内核都使用C语言,默认都可以用C语言写驱动,例外是macOS采用一套简化的C++框架IOKit写驱动。三大主流PC平台都支持C语言写用户态应用程序,不少编译器都是用C语言编写,尤其是Java/C#/Python等更高级语言产生之前。TCC就是一个例子,GCC早期也是用C语言,后来才改用C++. Python/PHP解释器,Mysql/Skynet/Ngnix都是C语言编写的。
VC++和Turbo C也是编程语言吗?
不是的,它们仅仅是开发工具或套件的名称,它们是C/C++编程语言的开发工具。另外,因为平台相关,它们会扩展C/C++有特定的函数、类。不少不明真相的入门者,以为它们是新的编程语言,其实不是的。
为什么某些编辑器编写源代码编译会报错?
如果代码没有写错,大概率是编辑器的编码格式和编译器不相配。例如,编辑器保存的是UTF8格式带BOM,编译器并不能支持带BOM的源码。这种情况下,可以用hexdump或其他二进制查看工具检查代码是否有不预期的字符。
C语言为什么没有规定严格的运行时检查?
这与C语言设计之初所处的硬件软件环境有关,最早Unix操作系统所在的硬件条件资源紧张,没有必要再设计一套严格的运行时检查,增大C语言编译器和运行时库。随着计算机内存变大,一些新编程语言例如Java/C#/Python都可以不遗余力做编译时或者运行时检查,因为内存不是问题。这并不是C语言设计的缺点,因为它当时真的很难。C++/ObjC和C语言一样,也没有严格的运行时检查。
若文章对您有帮助,欢迎关注。助您在编程路上越走越好!
微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。
我是程序员小迷(致力于C、C++、Java、Kotlin、Android、iOS、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。