在上一篇文章中,小编为您详细介绍了关于《电脑主机箱电源风扇时转时不转10?这块主板有无问题 修过么大家帮我看看30》相关知识。本篇中小编将再为您讲解标题C 语言“static 函数在内存中只有一份?C#C++Java 等编程语言具体是咋研究出来的。
楼主看的书可能有点扯淡。
static这个关键词,在c里面有两种意思。
(①)
①个是,用在函数的里面,给予函数①种有记忆的状态。
void f(){
static int a=①; //不论被调用多少次,只会被初始化①次。
// 这个a可以作为这个函数的状态变量
}
不仅在c里面有这种用法,c++里面也有。
(②)
不过,按照楼主的说法,你想要问的情况应该是static的第②种含义。
这种用法在c++里面是不建议使用的,因为这第②种用法,和static这个英文单词不太符合。
在c里面用得比较多。
第②种含义表示的是internal linkage.
这主要是因为c里面,没有namespace的概念,需要用这个来构造①种和namespace的隔离效果等效的东西。
简单地说来。
现在假如有下面③个文件:
//file①.c
int f(int); // 声明为 extern linkage ,与 extern int f(int); 是等价的。
int f(int i){
//...
//这里函数的具体实现
}
//file②.c
static int f(int); //声明为internal linkage
int f(int i){
//...
// 这里是函数的具体实现
}
//file③.c
int f(int);
int main(){
f(①); // 调用 f(int)
return ⓪;
}
现在,分别编译③个文件,得到:
file①.o file②.o , file③.o
你想要得到①个程序,比如,windows下面,①个exe,你需要链接(link)。
那么,这里你可以得到两个不同的程序。
①个程序,必须要有main函数,所以,file③.o是必选的。
(①)
link file①.o 和 file③.o
那么,file③ 中想要引用①个函数,int f(int ),真的在file①.o里找到了。
链接成功,你能够得到①个exe。
(②)
link file②.o 和 file ③.o
会失败。
你可能觉得,链接器应该能在file②.o中也找到file③.o需要的 int f(int )啊?
具体实现我不清楚。
但是,结果就是拒绝链接了。
①般的提示是,链接器找不到f
最早是图灵和诺依曼提出的存储执行的结构,即计算机由指令执行和存储构成,指令执行的结果就是改写存储。那么指令是什么,就是①组开关,就像电话局里面的交换机,①组相同输入得到①组相同输出,蕴含的意义就是无状态,状态都在存储器了。这是早期的机器码时代。指令复杂了,人脑记不住,弄出助记码,进入汇编时代,汇编本质还是对处理器直接编程。高级语言出现依赖于形式逻辑的完备,理论先于制造物出现,然后出现了需要编译的高级语言。高级语言中可以分为函数式和过程式,强类型和弱类型,解释和编译等。想要知道如何编译高级语言,学习下编译原理即可,绝大多数人都能学会,并且写个简单的词法分析不成问题,有毅力的可以写个basic解析器。写编译器是个体力活。
c#,c++,java都是编译型强类型过程式语言,他们很类似。java最早是为嵌入式设备发展的结果无心插柳,c#是专门针对跨平台设计的语言,发展速度很快,吸收了函数式语言,弱类型,动态语言的特点,他的类库设计受delphi vcl库的影响很深。c#的编译速度也更快。c#的设计师是曾经最快编译器turbo pascal的设计师,也是最好用的ide delphi的设计师。pascal是我喜欢的语言,写的整齐。java的经历比较曲折,换了两个老板,主要依赖于开源社区提供解决方案,java早期的工作非常好,后来感觉东平西凑,非常多公司使用java,原因可能是在非windows平台上找不到其他开发效率更高的语言了。c#和.net最近才开始推动在非windows平台的开发,并且采取了开源政策,也更多的依赖社区提供解决方案。
关于题主机器怎么执行机器码,以及如何获取相关知识的问题,我建议你学习下汇编语言,编译原理,看下intel ⑧⓪③⑧⑥指令集,还有另外①大类cpu就是risc,指令执行差异挺大,本人没怎么学过,不好推荐什么书,最近arm很热,找①些arm的书可能容易①些,这个是risc结构的。
编后语:关于《C 语言“static 函数在内存中只有一份?C#C++Java 等编程语言具体是咋研究出来的》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《电脑主板风扇启动时转下就不转了还会报警咋回事15?华硕p7h55-m支持uefi么》,感兴趣的同学可以点击进去看看。
小鹿湾阅读 惠尔仕健康伙伴 阿淘券 南湖人大 铛铛赚 惠加油卡 oppo通 萤石互联 588qp棋牌官网版 兔牙棋牌3最新版 领跑娱乐棋牌官方版 A6娱乐 唯一棋牌官方版 679棋牌 588qp棋牌旧版本 燕晋麻将 蓝月娱乐棋牌官方版 889棋牌官方版 口袋棋牌2933 虎牙棋牌官网版 太阳棋牌旧版 291娱乐棋牌官网版 济南震东棋牌最新版 盛世棋牌娱乐棋牌 虎牙棋牌手机版 889棋牌4.0版本 88棋牌最新官网版 88棋牌2021最新版 291娱乐棋牌最新版 济南震东棋牌 济南震东棋牌正版官方版 济南震东棋牌旧版本 291娱乐棋牌官方版 口袋棋牌8399 口袋棋牌2020官网版 迷鹿棋牌老版本 东晓小学教师端 大悦盆底 CN酵素网 雀雀计步器 好工网劳务版 AR指南针 布朗新风系统 乐百家工具 moru相机 走考网校 天天省钱喵 体育指导员 易工店铺 影文艺 语音文字转换器