zl程序教程

您现在的位置是:首页 >  其他

当前栏目

一个问题引发的思考

2023-04-18 14:11:13 时间

今天看到一个题,这是以前并没有去在意的,答案是80
在这里插入图片描述
刚开始的时候只知道加不加括号的区别,但是为什么呢?

#define: 预编译
预编译:又叫预处理。预编译不是编译,而是编译前的处理,预编译所执行的操作就是简单的“文本”替换

主要想到了这个

语言有:编译型和解释型。例如c是编译型语言,python是解释型语言,java一半一半。

解释型语言需要先解释成机器指令(以后计算机组成原理的内容)也就是需要有一个翻译的过程,而且每一次执行都需要进行翻译的过程,那么一定存在效率问题。

编译型语言,一次编译就能生成可执行程序,可以无限次运行,效率高。

效率问题也在一定程度上决定了某一种语言是偏向底层还是面对上层。

image-20211207182930339

操作系统也属于底层,一般是用c/c++开发的,比如windows,linux,Mac、……

应用程序:平时大家使用的App,网页等等


在面对上层的语言中,比如java会调用底层的方法,也就是java中的本地方法(c/c++的方法,java的根加载器就是使用c/c++实现的),而底层不会调用上层

底层提供一点点变化,上层能玩出花来(比如并发编程中的CAS)
CAS:在Java并发编程中调用的CAS方法是操作系统提供的,而操作系统是c/c++实现的。