- 主题:C语言的优势是啥? (转载)
【 以下文字转载自 Circuit 讨论区 】
发信人: sqsl (12345), 信区: Circuit
标 题: C语言的优势是啥?
发信站: 水木社区 (Fri Jan 15 14:13:14 2021), 站内
是不是既能在个人电脑上运行,又能在以stm32f207 COTEX M3为内核的微处理芯片上运
行?
C语言编写的程序能在电脑上运行是因为得益于Visual c软件将其编译为了机器能识别的
代码
那C语言编写的程序能在微处理芯片上运行的原因是什么?是不是在电脑上事先通过了什
么编译器编译,转化为M3能识别的程序语言再下载?
C++和C#编写的程序可以在微处理芯片上运行嘛?
--
FROM 124.65.244.*
还能通过 emscripten 编译成 webasm 跑在浏览器里面,可以说是最跨平台的语言了。
【 在 sqsl (12345) 的大作中提到: 】
: 【 以下文字转载自 Circuit 讨论区 】
: 发信人: sqsl (12345), 信区: Circuit
: 标 题: C语言的优势是啥?
: ...................
--
FROM 117.24.206.*
出现的早(1972年)就是最大的优势,无数系统软件都是用C语言来实现的,你要进行系统编程,就必须学会C语言,才能进入到系统编程的世界之中。。。
【 在 sqsl 的大作中提到: 】
: 发信人: sqsl (12345), 信区: Circuit
: 标 题: C语言的优势是啥?
: 发信站: 水木社区 (Fri Jan 15 14:13:14 2021), 站内
: ...................
--
FROM 113.232.145.*
主要是遗老不用学新语言,遗码不用重写,说白了,最大的优势就是”不变”,甭管每年新造多少漏洞出来。
解决办法很简单,等着吧,再来三代人,C 可绝。
【 在 sqsl 的大作中提到: 】
: 发信人: sqsl (12345), 信区: Circuit
: 标 题: C语言的优势是啥?
: 发信站: 水木社区 (Fri Jan 15 14:13:14 2021), 站内
: ...................
--
FROM 111.193.31.*
RISC-V 重新思考 CPU 设计,目前很吸引眼球。
重新思考 C 的设计的,Zig 算一个,还不太成熟,Nim 复杂了点,Rust 目前挺吸引眼球,都有人写 OS 了,但个人对 Rust 爱憎分半,我觉得即使 C 死了,Rust 的生命周期不会比 C 长,C 已经活了五十年了,Rust 十年来着,假定 C 再活五十年,恐怕 Rust 在 C 之前已经挂了。
【 在 siegfried415 的大作中提到: 】
: 出现的早(1972年)就是最大的优势,无数系统软件都是用C语言来实现的,你要进行系统编程,就必须学会C语言,才能进入到系统编程的世界之中。。。
:
--
FROM 111.193.31.*
想一想,“不变”其实是一种优势,比如,自然语言也在演变,但是速度极其缓慢,如果每几十年语法和关键字都变一遍,人类就不可能有任何百年以上的文化传承了。。。
【 在 Dieken 的大作中提到: 】
: 主要是遗老不用学新语言,遗码不用重写,说白了,最大的优势就是”不变”,甭管每年新造多少漏洞出来。
: 解决办法很简单,等着吧,再来三代人,C 可绝。
--
FROM 113.232.145.*
C 语言最大的问题是太滥用宏了
然后过度用符号不加关键字
另一问题是 指针应该当成一种数据类型
typedef int(func*)(); => typedef func as function return int;
哪个好读?
【 在 Dieken (风催草低 - 明月何尝不照人) 的大作中提到: 】
: RISC-V 重新思考 CPU 设计,目前很吸引眼球。
: 重新思考 C 的设计的,Zig 算一个,还不太成熟,Nim 复杂了点,Rust 目前挺吸引眼球,都有人写 OS 了,但个人对 Rust 爱憎分半,我觉得即使 C 死了,Rust 的生命周期不会比 C 长,C 已经活了五十年了,Rust 十年来着,假定 C 再活五十年,恐怕 Rust 在 C 之前已经挂了。
--
FROM 124.240.18.*
宏我很少用
【 在 chaobill 的大作中提到: 】
:
: C 语言最大的问题是太滥用宏了
: 然后过度用符号不加关键字
: 另一问题是 指针应该当成一种数据类型
: typedef int(func*)(); => typedef func as function return int;
--
FROM 111.194.48.*
你这个需要改语法,对于 c 语言这种传承几十年的语言不现实。
但是滥用宏确实制造阅读困难。我为了阅读 libev 代码,特地把里面的宏都展开了,看起来就清晰多了。
有想要研究 libev 的,可以参考一下我的修改版——展开宏和删掉 windows select 相关的代码:
https://github.com/hgoldfish/qtnetworkng/blob/master/src/ev/ev.c
【 在 chaobill (若我离去,后会无期) 的大作中提到: 】
: C 语言最大的问题是太滥用宏了
: 然后过度用符号不加关键字
: 另一问题是 指针应该当成一种数据类型
: ...................
--
FROM 112.47.122.*
typedef 的语法 加个关键词就容易读多了。
typdef int (myfunc*)()[5]; => typedef myfunc int function()[5]
还有数值的隐式转换也应该变成显式的
困扰人的 int x = dobule z; 和其他的类型转换不一致的问题
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 你这个需要改语法,对于 c 语言这种传承几十年的语言不现实。
: 但是滥用宏确实制造阅读困难。我为了阅读 libev 代码,特地把里面的宏都展开了,看起来就清晰多了。
: 有想要研究 libev 的,可以参考一下我的修改版——展开宏和删掉 windows select 相关的代码:
: ...................
--
FROM 124.240.18.*