记得当年在学了C/C++语言后一直有这样的疑惑,常用的printf函数以及C++中的cout函数到底是在哪里实现的?
相信不止我有这个疑问,这篇文章就来回答这个问题。
C/C++语言是怎样实现的
相信有的同学一定觉得编程语言是十分神秘的,实际上不是这样的。
一门编程语言的本质是什么?
本质上一门语言不过就是一堆规则(rules)而已,就像汉语中的主谓宾一样,就像
-
if之后必须是一个括号(),这个括号中必须是一个bool表达式
-
while之后必须是一个括号(),这个括号中必须是一个bool表达式
-
continue语言必须出现在while语句中
-
等等
有的同学可能会问,为什么一定要有这堆规则呢?原来,只有有了规则之后编译器才能知道该怎么处理我们写的程序。
编译器在遇到if后就知道,接下来紧跟的一定是一个左括号,之后一定是一个bool表达式,再之后一定是一个右括号。
如果我们写的程序不满足这样的规则,结果就是编译器开始抱怨编译错误(compile error)。
让我们回到主题,实际上C/C++以及任何一门编程语言都是这样的一堆规则,对于C/C++来说,每年都有一群来自被称为International Organization for Standardization (ISO)组织的人来制定C/C++语言的规则,因此这群人坐下来讨论的这堆规则实际上就是一个标准<