哦华为仓颉语言

本来我不太想说的,奈何有不少粉丝提问提到了这语言,目前的情况我不透露太多,看过这课程C++实现一门计算机编程语言到手撸虚拟机实战的懂的自然懂。

在互联网领域几乎大部分应用软件运行在X86 LINUX上居多,如果你有问题可以先学习这个https://www.bilibili.com/video/BV1Dj411d7GQ/?spm_id_from=333.999.0.0

所以本文内容也是居于linux x86环境【阿里云服务器,毕竟用它做服务器居多 互联网公司一般都是X86 指令集架构的居多】来进行测试。

下面是demo示例代码

cjc demo.cj 在LINUX下得到ELF格式可执行文件,内部存储了X86指令和数据main() {    println("Hello, World!")}

编译后得到如下几个文件

生成的ELF文件和X86指令内容

编译后得到的还是共享目标文件,但能直接执行,有兴趣可以自行去了解静态链接,动态链接的区别。

它底层运行时,依然是使用几十年没有变化的系统调用函数和几十年没有变化的X86指令集【感觉是一堆废话,运行在X86 LINUX上当然了,当然也能根据目标机器生成其它架构的代码】

运行它的系统调用过程如下[进程启动到死亡的过程]【所有的编程语言都这样】

[pid 18799] execve("./main", ["./main"], 0x5654ce18e360 /* 24 vars */) = 0//装载ELF文件,将ELF文件的指令和数据添加到进程虚拟内存里[pid 18799] openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3//c动态库[pid 18799] openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3//不用说了  在LINUX C 课程说这[pid 18799] write(1, "Hello, World!\n", 14) = 14//调用write 系统调用函数 【此函数1991年到今天没有变过】[pid 18803] exit(0)                     = ?//调用exit系统调用函数  退出进程 【进程死亡】此函数同样是1991年到今天没有变过】[pid 18803] +++ exited with 0 +++[pid 18799] exit_group(0)               = ?//同上[pid 18799] +++ exited with 0 +++

上面的系统调用函数在以下课程已经说过,但建议你去实践,技术只来源于实践,不是来源看【纸上得来终觉浅绝知此事要躬行】

https://edu.51cto.com/lecturer/14934648.html

测试了这些,只是想告诉各位一个事实,我讲的PHP多进程,物联网,LINUX C 它们的知识并没有过时,底层的东西依然是一样的东西,但不少程序员长期忽略,物有本末,事有终始,知所先后,则近道矣,底层的东西是核心关键

对于一个后端程序员,必学内功修炼课程和LINUX C 核心高级,千举万变【应用层各种层出不穷的框架和语言】,其道一也【底层】,以不变【底层】应【驾驭理解探索认知】万变【各种应用层的一切语言和框架】。

关于网络编程也是一样的技术,在这里不过多演示了。

虽然如此,但不少程序员还是沉入无穷无尽的编程语言和框架生态中...

物有本【底层】末,事有终【底层】始,知所先【底层】后,则近道矣.

相关推荐
又蓝3 分钟前
使用 Python 操作 Excel 表格
开发语言·python·excel
小灰灰要减肥3 分钟前
装饰者模式
java
张铁铁是个小胖子15 分钟前
MyBatis学习
java·学习·mybatis
余~~1853816280016 分钟前
稳定的碰一碰发视频、碰一碰矩阵源码技术开发,支持OEM
开发语言·人工智能·python·音视频
Am心若依旧4091 小时前
[c++11(二)]Lambda表达式和Function包装器及bind函数
开发语言·c++
明月看潮生1 小时前
青少年编程与数学 02-004 Go语言Web编程 20课题、单元测试
开发语言·青少年编程·单元测试·编程与数学·goweb
Yan.love1 小时前
开发场景中Java 集合的最佳选择
java·数据结构·链表
椰椰椰耶1 小时前
【文档搜索引擎】搜索模块的完整实现
java·搜索引擎
大G哥1 小时前
java提高正则处理效率
java·开发语言
VBA63371 小时前
VBA技术资料MF243:利用第三方软件复制PDF数据到EXCEL
开发语言