登录 立即注册

找到11528个回复

老虎会游泳 78楼回复 无名啊如何理解 C/C++ 中的 指针别名(pointer alias)、restrict、const 的关系呢? (2023-02-01//)

@无名啊,嗯,看起来C为并行执行优化留下了很多空间。

无名啊 77楼回复 无名啊如何理解 C/C++ 中的 指针别名(pointer alias)、restrict、const 的关系呢? (2023-02-01//)

@老虎会游泳,我现在不想碰 restrict,因为:

  • C/C++ 本身速度足够快,我目前不需要写性能极度敏感的代码
  • 弄清楚编译器如何对待 restrict 估计很耗时间。。

cppreference - 求值顺序 说:

除下列标出者,任意 C 运算符的运算数求值顺序,包括函数调用表达式的函数参数求值顺序,及任何表达式的子表达式求值顺序都是未指定的。编译器会以任意顺序对其求值,而且在同一表达式被再度求值时可选用另一种顺序。

C 中没有从左到右或从右到左求值的概念,这不会与运算符的从左到右或从右到左结合性混淆:表达式 f1() + f2() + f3() 被分析成 (f1() + f2()) + f3() ,因为 operator+ 的从左到右结合性,但运行时对 f3 的函数调用可以最先、最后,或在 f1() 与 f2() 之间求值。

未定义行为

  1. 若对一个标量对象的副效应与另一个对同一标量对象的副效应相对无顺序,则行为未定义
i = ++i + i++; // 未定义行为
i = i++ + 1; // 未定义行为
f(++i, ++i); // 未定义行为
f(i = -1, i = -1); // 未定义行为
  1. 若一个标量对象上的副效应与另一个使用同一标量对象之值的值计算相对无顺序,则行为未定义。
f(i, i++); // 未定义行为
a[i] = i++; // 未定义行为
  1. 只要至少一个子表达式的排序容许这种无顺序副效应,就应用上述规则。

我记得,C 只保证在序列点后,所有副作用都被执行。

老虎会游泳 76楼回复 无名啊如何理解 C/C++ 中的 指针别名(pointer alias)、restrict、const 的关系呢? (2023-02-01//)

@无名啊i++ + ++i中哪一部分是未定义的?C标准允许++i读取不到i++增加后的值?

老虎会游泳 75楼回复 无名啊如何理解 C/C++ 中的 指针别名(pointer alias)、restrict、const 的关系呢? (2023-02-01//)

@无名啊,我看出一些问题。
restrict是一个C99规定的关键字,C++的任何版本都未要求实现该关键字,大部分C++编译器会直接忽略它。
你是想在C++中用它吗,那你应该用__restrict__,虽然它是编译器特定扩展,但大部分编译器都实现了它。

无名啊 74楼回复 无名啊如何理解 C/C++ 中的 指针别名(pointer alias)、restrict、const 的关系呢? (2023-02-01//)

@水木易安,呃。。我的意思是,这些都只是 C 语言的(关键字级别的)基础内容。

只不过有点偏,连老虎写了多年 C++ 代码的都没注意(我也只是最近写 C,查语言标准,看自己代码能不能这样写时,偶然注意到

我们的课程没有 8086/x86/x64/arm/wasm/... 汇编。。我只是凭以前看过的半本 x86 汇编,和老虎聊上一两句而已。。

这个帖子好像没涉及到编译原理中的词法语法分析,有谈到编译器,但也仅是猜测它的行为

@老虎会游泳,是的。但有时候也教 UB 代码,比如 i++ + ++i 啥的

老虎会游泳 1楼回复 张小强Pc端安卓端,html5页面如何获取某些数据作为设备?的唯一标识 (2023-02-01//)

浏览器已经开发了多种功能来阻止这种操作。在浏览器的默认隐私策略中,应该获取不到任何全局唯一标识。

老虎会游泳 2楼回复 张小强Pc端安卓端,html5页面如何获取某些数据作为设备?的唯一标识 (2023-02-01//)

操作系统也在努力避免通过IPv6地址暴露网卡mac地址给网站。

最初的全局唯一IPv6地址要求通过mac地址转换生成,同一设备在不同网络下生成的IPv6地址后缀都相同。后来发现该特性被网站滥用,用于追踪用户,于是发布了IPv6隐私扩展。

支持IPv6隐私扩展的操作系统会在连接时优先使用随机生成的IPv6地址后缀。

19楼回复 hui214有没有人接网站制作? (2023-02-01//)
801元
老虎会游泳 73楼回复 无名啊如何理解 C/C++ 中的 指针别名(pointer alias)、restrict、const 的关系呢? (2023-02-01//)

@无名啊@水木易安,大学肯定不会教这个啊,大学教的C和C++基本上都是最具可移植性的部分,语法基本上停留在C89阶段,不会有C99之后的新特性。

老虎会游泳 2楼回复 老虎会游泳发现一种通过IPv6多播ping探测局域网内其他节点的方法(不需要路由器支持IPv6) (2023-02-01//)

@残缘,你可以试试:

ndp -an
arp -an
残缘 1楼回复 老虎会游泳发现一种通过IPv6多播ping探测局域网内其他节点的方法(不需要路由器支持IPv6) (2023-02-01//)
mac 似乎没有ip neigh命令
zsh: command not found: ip
水木易安 72楼回复 无名啊如何理解 C/C++ 中的 指针别名(pointer alias)、restrict、const 的关系呢? (2023-02-01//)

@无名啊,是学 c,但是那时候大家都是在学习搞开发环境、变量、语句、条件控制,循环、函数和重载、指针、结构体。考试写个水仙花数,判断个闰年平年就差不多了吧

不会一上来就学习编译器,词法语法分析吧

寄存器、汇编好像是大三开始学习的。
小米MIX2s(白)

张小强 18楼回复 hui214有没有人接网站制作? (2023-02-01//)
800元,
李沐沐 17楼回复 hui214有没有人接网站制作? (2023-02-01//)
@卷心菜,😂刚好在调系统,只是新建了两个页面,就没写了
无名啊 71楼回复 无名啊如何理解 C/C++ 中的 指针别名(pointer alias)、restrict、const 的关系呢? (2023-02-01//)

@水木易安,不会吧?我记得理工科的都要学 C 啊。。

TabKey9 15楼回复 hui214有没有人接网站制作? (2023-02-01//)
这话题我弃权,但我私底下会自己撸一个看看,也有可能撸到一般就放弃
水木易安 70楼回复 无名啊如何理解 C/C++ 中的 指针别名(pointer alias)、restrict、const 的关系呢? (2023-02-01//)

@无名啊,你的大学我的大学,好像不一样
小米MIX2s(白)

李沐沐 14楼回复 hui214有没有人接网站制作? (2023-02-01//)
组织.png(476.34 KB)
幻阳化翼 13楼回复 hui214有没有人接网站制作? (2023-02-01//)

自己找低代码平台弄一个吧,简单但费时
小米20定制版

李沐沐 12楼回复 hui214有没有人接网站制作? (2023-02-01//)
微信截图_20230201103127.png(2.55 MB)
下一页 上一页 (277 / 577页)

11月12日 15:03 星期三

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1