• Re: [讨论] 买车不是买电子产品, 旗帜鲜明支持 es6

    结论:买油车

    【 在 jiancker 的大作中提到: 】

    : 想必很多人在 M3 和 其他车之间纠结.

    : 虽然我的电号还没排到, 虽然我是租的车在开. 但是旗帜鲜明的在 es6 和 m3 之间选 es6.

    今天 12:09
  • Re: 不接受安全座椅的人很难被说服

    什么时候后排安全带普及了,再来谈安全座椅。安全座椅比安全带麻烦100倍,大人自己后排主动系安全带以后再来要求小朋友做安全座椅。

    【 在 blueinkk 的大作中提到: 】

    : 即便在北京,给小朋友用安全座椅的比例都很低

    : 很多更相信在轮毂在后视镜上系上红绳有效果

    : 【 在 wefifa2011 的大作中提到: 】

    今天 10:29
  • Re: 故宫女主当空姐时的梦想

    这到底是12年6月16还是16年12月6日呢?

    【 在 sunsungll 的大作中提到: 】

    : 很简单的梦想

    昨天 19:56
  • Thinkpad的白名单居然是双向认证的

    X230i升级换下来的RTL8188CE无线网卡,给迷你主机上用,系统是deepin linux,自动识别一切正常。

    然后换Win7下,装好驱动以后,设备管理器中显示一个叹号,用不了。换到Win10问题一样。

    再换到Linux,一切正常。

    白名单在BIOS中限制无线网卡的型号,这个好理解,为了设备兼容性可以理解。无线网卡挑PC这个就有点无法理解了,而且明显是在Windows驱动中做了手脚,Linux下都正常。

    双向白名单,太有才了。

    昨天 17:12
  • Re: 帮忙看个C语言常量字符串问题

    是的,最近我也有这样的体会。知识/技术实在是太多太多了,但是时间又是有限的,广和深根本无法平衡。以前我的代码里面,每一行都是自己写的,库也都用自己的,现在我也会去集成一些第三方的库或者资源,他们都有非常丰富的细节和技术,但我的精力只能做到熟悉他们的接口,但是这也就够了,不去了解他们内部的细节是非常重要的。

    还好在一个方面深入了解以后,另外一个领域方法论并没有什么差别,大概熟悉就能很快入门,深入比较难,但是入门还是很快的。

    另外,技术对产品或者说收益的贡献,其实是很小的,这一点技术人员往往认识不到。

    【 在 lvsoft (Lv(The Last Guardian)) 的大作中提到: 】

    : 你的需求是要兼顾可读性和最小内存占用,所以你想到要对c标准有深入透彻的理解,这

    : 是很自然的路线。以前我也是一样,这种对细节的好奇心,和本源的探索,对极致的追

    : 求精神是是否能成为top一个很重要的特性。

    : ...................

    昨天 16:22
  • Re: 帮忙看个C语言常量字符串问题

    这个不是回字有几种写法和i++++i=?的问题。

    弄清楚这个问题,需要知道写出来的代码在内存中是如何分布的。也就是把内存模型和代码联系起来。对于C/C++这种手动管理内存的语言,这是非常重要的。

    对于C标准,不能机械地去理解,搞清楚文字后面的设计意图是更有意义的事情。

    【 在 lvsoft (Lv(The Last Guardian)) 的大作中提到: 】

    : 只是问题的话,有一万种解决方法。

    : 他自己也能解决,只是想顺便弄清楚c的细节。这个我觉得看下gcc源代码就行了,我对这

    : 些细节也不是很感兴趣。年轻的时候会醉心于对这种回字有几个写法的奇淫技巧,现在我

    : ...................

    昨天 14:19
  • Re: 帮忙看个C语言常量字符串问题

    其实volatile就是告诉编译器别给我乱动的意思。

    【 在 lvsoft (Lv(The Last Guardian)) 的大作中提到: 】

    : volatile这个关键字的行为在c标准里面也是没有明确定义的,

    : 所以volatile的行为在不同的c compiler下也会有不同。

    : 在c下面,volatile的意思是告诉编译器这是一个未知领域,基本上大部分编译器的选择

    : ...................

    昨天 14:15
  • Re: 帮忙看个C语言常量字符串问题

    C++是C的超集,修正C里面已知问题是水到渠成的问题。最新的C11标准也就是从C++11里面合并一些特性过来。

    ~~~~~~~~~~这个是什么意思?const和变量是矛盾的。反过来说就是volatile的常量,都是矛盾的。

    【 在 zkr (Just Waiting.) 的大作中提到: 】

    : 标  题: Re: 帮忙看个C语言常量字符串问题

    : 发信站: 水木社区 (Sat Jan 18 09:42:04 2020), 站内

    : 前边说了很多次,C和C++的const基本上就是完全不同的两个东西

    : 如果非要拿着C++说C的事儿,那怎么也不能说通的

    : 总之,C里const T * const p的两个const都有用,但最终效果不完全是你想的……

    : 因为这是C。

    : C++的话,

    : 大约是先给const T * const初始化,得到const的变量;

    : 然后给const T *初始化就好。

    : 【 在 spadger (imdx) 的大作中提到: 】

    : : 你对初始化和赋值的理解和我是一样的,并没有区别。

    : : const T * const ptr

    : : 两个const分别限制 *ptr 和 ptr 是否是const的。如果两个const都有效,ptr必然是编译时常量。定义时就要初始化。在C++中,上面的语义都是没有问题的。

    : : ...................

    : --

    昨天 13:04
  • Re: 帮忙看个C语言常量字符串问题

    看了半天发现我还是没看懂楼主的主题。这贴子是要帮楼主解决问题,还是在吐槽C标准?

    ~~~~~~~

    【 在 dismoon (伐开心要包包) 的大作中提到: 】

    昨天 13:02
  • Re: 白群晖的CPU性能确实跟不上时代了

    atom算好的了,低端群晖很多是marvell的arm.

    【 在 alexlaugb (我晕) 的大作中提到: 】

    : 家用级群晖都是atom的cpu,换成企业级用志强的应该就没问题了

    前天 18:17
  • Re: 求购一款带串口的笔记本电脑

    usb甩出来的串口没有灵魂,原生串口是一种信仰。

    【 在 tom6bj (tom) 的大作中提到: 】

    : usb甩一个出来不就得了

    : 不好用是因为没买到好的

    : ...................

    前天 18:15
  • Re: 帮忙看个C语言常量字符串问题

    你对初始化和赋值的理解和我是一样的,并没有区别。

    const T * const ptr

    两个const分别限制 *ptr 和 ptr 是否是const的。如果两个const都有效,ptr必然是编译时常量。定义时就要初始化。在C++中,上面的语义都是没有问题的。

    至于C为什么不行,一种合理的解释是:C语言会忽略第二个const,即对于指针类型,C语言的const只能定义解引用以后的*ptr是常量,不能定义指针本身ptr是常量。由于C和C++的关系,能找到的资料大多数都是按照C++来描述的。这个解释暂时无法得到确认。

    https://www.geeksforgeeks.org/difference-between-const-int-const-int-const-and-int-const/

    https://docs.microsoft.com/en-us/cpp/cpp/const-and-volatile-pointers?view=vs-2019

    ~~~~~我认为这个不能算是hint,这里foo1和foo2是指针对象,两个const分别是解引用前后的对象是否是const,否则第二个const根本没有存在的必要。

    【 在 zkr (Just Waiting.) 的大作中提到: 】

    : 标  题: Re: 帮忙看个C语言常量字符串问题

    : 发信站: 水木社区 (Fri Jan 17 16:35:09 2020), 站内

    : 之前说过的,C下,

    : # 编译器不进行你期望的推断,是因为标准默认不允许

    : # 编译器进行了你期望的推断,是因为常数表达式C标准允许实现扩展其内涵

    : 于是就是编译器咋办都行,要么用户按照标准走,要么hack编译器实现

    : 我说的T var = val是初始化的意思在于:

    : 我认为,C标准约定了

    : 1 初始化的初值在编译阶段应当是可确定的

    : 2 程序开始时,变量的初值是初始化的值

    : 如果我认为的东西是对的,那么对于你期望的推断而言,

    : const T * foo1 和 const T * const foo2是没区别的。

    : foo2的const只是给编译器的hint,变量的存储位置并不影响推断。

    : 如果T var = val是赋值,那么

    : 1 var要具备可写性

    : 2 val的求值发生在运行时

    : 以上,

    : 这个东西是初始化还是赋值完全不同,不是抠字眼

    : 在标准里,对val的处理完全就是两个不同的阶段/流程

    : 【 在 spadger (imdx) 的大作中提到: 】

    : : 不抠这个字眼。

    : : 我的回复中初始化针对的是常量,只能定义时进行一次,运行时不能改。编译器通常会把这个量放到ROM中。

    : : 赋值针对变量,运行时可以进行。编译器 通常把这个量放到.data段。初始值在.text或者.ro.data中,进入main()之前会把初始化值赋值到.data段的变量地址。

    : : ...................

    : --

    前天 17:46
  • Re: 求购一款带串口的笔记本电脑

    你去二手市场找一个试试。

    万能的宝上都搜不到了。

    【 在 albedo 的大作中提到: 】

    : 二手电脑市场100

    : 【 在 spadger (imdx) 的大作中提到: 】

    : : 我有台N410c,满足这个条件,不但有原生串口,还有原生并口,还是12寸的。

    前天 16:34
  • Re: 帮忙看个C语言常量字符串问题

    不抠这个字眼。

    我的回复中初始化针对的是常量,只能定义时进行一次,运行时不能改。编译器通常会把这个量放到ROM中。

    赋值针对变量,运行时可以进行。编译器 通常把这个量放到.data段。初始值在.text或者.ro.data中,进入main()之前会把初始化值赋值到.data段的变量地址。

    你这个例子中foo是变量,*foo是常量。

    当然你把变量的第一次赋值叫做初始化也没毛病。

    【 在 zkr (Just Waiting.) 的大作中提到: 】

    : 标  题: Re: 帮忙看个C语言常量字符串问题

    : 发信站: 水木社区 (Fri Jan 17 15:16:01 2020), 站内

    : const T * foo = AA 也是初始化。不是赋值。

    : 【 在 spadger (imdx) 的大作中提到: 】

    : : :

    : :

    : :

    : : --

    : :

    : --

    前天 15:39
  • Re: 帮忙看个C语言常量字符串问题

    问题我早已经解决(或者说避开)了。这个帖子不是为了找解决方案。

    发出来是因为C语言一个看上去可能是缺陷的特性,讨论以后基本搞清楚了它的来龙去脉。

    感谢网友zkr提供的那个爆栈网的帖子,很有价值。

    面对问题有两种思路,绕过它或者解决它,像这个问题,只能选择绕过它。即使绕过,也

    应该搞清楚背后的原因。

    【 在 thxlp (鸭毛) 的大作中提到: 】

    : 好吧,“变量赋值”是我用错词了,我认错。

    : 但是实际上你也知道我指的是啥。。。

    : 是,你说得没错,标准会进化。

    : ...................

    前天 13:43
  • Re: 帮忙看个C语言常量字符串问题

    21年前了,更震惊的是这么多年C语言变化之小,生命力之顽强

    【 在 eggcar (eggcar) 的大作中提到: 】

    : 回头一想,c99竟然都是二十多年前的标准了,震惊...

    : how time flies......

    前天 13:21
  • Re: 帮忙看个C语言常量字符串问题

    用宏来实现也还行,代码看起来也算简洁明了,就是要依赖编译器优化。

    【 在 eggcar (eggcar) 的大作中提到: 】

    : 规避办法还是挺多,主要是不如直接初始化来得简洁明了优雅

    前天 13:19
  • Re: 帮忙看个C语言常量字符串问题

    ~~~~~这里没有讨论变量赋值,一直都是讨论常量初始化。

    const char * str1 = "abc" 是变量赋值。 str1是变量。

    const char * const str1 = "abc" 是常量初始化。 str1是常量。

    ~~~~~~~~~~~~~~~~~你这不是知道么,说的就是这么回事。C语言这样规定(也可能没规定编译器实现时自己理解),不一定是合理的。要不还要新的标准干什么呢?事实上const char * const完全是常量表达式,AC6和C++中都可以用来初始化,C标准也会进化,未来说不定某个版本就支持。

    【 在 thxlp (鸭毛) 的大作中提到: 】

    : 标  题: Re: 帮忙看个C语言常量字符串问题

    : 发信站: 水木社区 (Fri Jan 17 13:00:01 2020), 站内

    : 那就算了,不讨论了。

    : 只解答一个你觉得奇怪的ac5和gcc的行为

    : 按照c语言的规范,无论是char const* const也好,int const也好,他们都不是一个常量表达式,不能用来给另外一个变量赋值。

    : 不是gcc他们不支持,而是c语言就是这样规定的。

    : 【 在 spadger (imdx) 的大作中提到: 】

    : : 算了,根本没在一个频道上。

    : --

    前天 13:05
  • Re: 增程式是最好的混动吧?

    不能这么比,小牛在电驴界的位置类似汽车中taycan/tesla。

    理想/蔚来同等地位是雅迪/爱玛之类。

    他拿taycan来杠,我们出爱玛就够了,小牛太浪费了。

    【 在 AZTU (A_Z) 的大作中提到: 】

    : 标  题: Re: 增程式是最好的混动吧?

    : 发信站: 水木社区 (Fri Jan 17 09:53:20 2020), 站内

    : 你要这么说,理想是比小牛贵出几十倍了

    : 不是一个级别的东西,靠杠比么

    : 【 在 netmore 的大作中提到: 】

    : : 你直接用 porsche taycan 作为比较,效果更好。

    : :

    : --

    前天 12:58
  • Re: 帮忙看个C语言常量字符串问题

    算了,根本没在一个频道上。

    【 在 thxlp (鸭毛) 的大作中提到: 】

    : 感觉没讨论到一个点上。。。

    : 我一直就在讨论你为什么要用str1去初始化str2?

    : 不是一直在想办法规避这个赋值操作吗。。。

    : ...................

    前天 12:51