- 主题:上午面试了一个小孩,问了一个问题是不是太过分了 (转载)
我好像是从Herbert Schildt的C语言大全里看的,
这是我学C看的第一本书,然后就记住了,然而
实践中也没玩过默认是unsigned的环境-_-;;;;
【 在 javaboy (喝了咖啡就话多-_-;) 的大作中提到: 】
: 能知道C语言里char、signed char 和 unsigned char是三种不同类型的人,要不就是仔细看过编译器说明书,要不就是啃过一点标准,要不就是从汇编时代走过来的。这种人凤毛麟角。考虑到现在的小朋友几乎没有任何渠道可以获取到这类知识,你的要求好像是高了一点。。
--
FROM 183.156.100.*
那要按这逻辑也不应该存在未指明长度的int,
只允许存在int8、int16、int32、int64 @.@
【 在 amt6 (amt6) 的大作中提到: 】
: 我认为就不应该存在char=unsigned char。要这么玩,就不应该存在char,只允许存在signed char或unsigned char。
--
FROM 183.156.100.*
其实PC上的编译器(至少VC是)也可以通过选项指定默认的char
是signed还是unsigned,只不过未指定时默认为signed罢了。
【 在 feiy (null) 的大作中提到: 】
: 竟然被转到这个版面来,还被顶上了十大,那么:
: 1、先说一下,这个题目是智能硬件嵌入式固件背景,随便考一下相关经验的,请不要忘
: 记了这个前提。
: ...................
--
FROM 183.156.100.*
我只知道上古平台有char可能是6或者7 bit的,还真不知道有>8的
【 在 ilovecpp (cpp) 的大作中提到: 】
: 嗯,查到了。谢谢。
: char的符号问题或者int的位数,大部分C使用者都知道。而C标准允许大于8bit的char这一点,可能大部分人都认为只存在于理论上或者古代平台,确实没想到在现代硬件中还有。
--
FROM 183.156.100.*
比较窄的领域里甚至可能没有太多动力像通用领域那样去
充分吸收编程语言理论和软工的一些实践去改进开发工具
【 在 lvsoft (Lv(The Last Guardian)) 的大作中提到: 】
: 整个趋势的走向是上层工具会越来越多的摆平所有底层问题,需要精通底层的人会越来越少。
: 但,世界是复杂的,发展是曲折的。
: 做个比喻,我们现在用一个工具,是不会从挖矿这种细节开始的。
: ...................
--
FROM 183.156.100.*
对,哪怕是STM32F1这种都可以rust玩转了……
一度觉得某些低配硬件的嵌入式开发很悲催,只能用C而且是史前规格的编译器,
很多软工实践也不太适用……
【 在 lvsoft (Lv(The Last Guardian)) 的大作中提到: 】
: 其实我想说,换rust吧~
--
修改:adoal FROM 183.156.100.*
FROM 183.156.100.*
前几天刚看到一条新闻,说rustc_codegen_gcc被采纳,是在来自于GCC的
libgccjit库的基础上构建的新的Rust编译器后端
gcc有没有51后端?
【 在 lvsoft (Lv(The Last Guardian)) 的大作中提到: 】
: f0都没问题,32kb rom, 8k ram我都用rust玩了,还塞了个gui进去,感觉还是很爽的~
: rust现在不能玩的主要是51,因为llvm没有51后端,但avr也是可以的。
--
FROM 183.156.100.*
因为C的定位就是个“高级汇编”,在每个支持的平台上,
要跟平台硬件的寄存器级操作一致,避免太多抽象层。
【 在 chylli (豆粉) 的大作中提到: 】
: 为啥C标准会弄这么多未定义的玩意?这不是找麻烦么?
--
FROM 183.156.100.*
1bit的byte……这个也太玄学了
【 在 lvsoft (Lv(The Last Guardian)) 的大作中提到: 】
: 大致的历史是先有6bit,构成常用字符数字集。这也是base64编码的内容。
: 之后到了7bit,加入了控制符。
: 再后面到了8bit,加入了制表符。
: ...................
--
FROM 183.156.100.*
你家sizeof的结果是按bit算?
【 在 xiaoju (可爱的龙猫) 的大作中提到: 】
: 什么平台有sizeof(char)==7?
--
FROM 183.156.100.*