哦华为仓颉语言

本来我不太想说的,奈何有不少粉丝提问提到了这语言,目前的情况我不透露太多,看过这课程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 核心高级,千举万变【应用层各种层出不穷的框架和语言】,其道一也【底层】,以不变【底层】应【驾驭理解探索认知】万变【各种应用层的一切语言和框架】。

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

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

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

相关推荐
IKUN家族10 小时前
Spring MVC(一)
java·spring·mvc
老马识途2.011 小时前
关于跨域问题的总结
java·前端
魔力女仆11 小时前
分享一个 JS 鼠标跟随贪吃蛇背景库
开发语言·javascript·计算机外设
都叫我大帅哥12 小时前
Java日期时间三十年战争:从Date考古到LocalDateTime革命,以及数据库与前端的那点事儿
java
Muscleheng12 小时前
SpringBoot 集成 DeepSeek 实现 RAG 文档问答
java·spring boot·ai·springai
2401_8949155312 小时前
GEO 搜索优化完整源码从零部署:环境配置、集群搭建全流程
开发语言·python·tcp/ip·算法·unity
2501_9364156912 小时前
可变参数&综合练习&斗地主游戏
java·windows·游戏
麻瓜老宋13 小时前
AI开发C语言应用按步走,表达式计算器calc的第二十二步,分号赋值链式修复、TOKEN_ASSIGN
c语言·开发语言·atomcode
极客先躯14 小时前
高级java每日一道面试题-2026年05月03日-实战篇[Docker]-如何实现容器化环境的数据加密?
java·运维·docker·容器·金融·加解密·高级面试
xqqxqxxq14 小时前
Java Socket 多人聊天室(私聊+群聊)技术笔记(V4版本)
java·网络·笔记