V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  cnbatch  ›  全部回复第 69 页 / 共 71 页
回复总数  1414
1 ... 61  62  63  64  65  66  67  68  69  70 ... 71  
2022-05-20 17:15:00 +08:00
回复了 Biwood 创建的主题 程序员 Linus Torvalds 在 TED 演讲上所说的有品味的代码
既然有人提到了 container_of ,刚好几个星期前在另一个帖子就聊过,我觉得可以再把例子拿出来说一次。

先来看看 Linux 最经典的用了 GCC 内置扩展的写法:

#define container_of(ptr, type, member) ({ \
const typeof(((type *)0)->member) * __mptr = (ptr); \
(type *)((char *)__mptr - offsetof(type, member)); })

来源: https://github.com/torvalds/linux/blob/master/tools/include/linux/kernel.h


然后是最新的 container_of ,经过多年进化,新版本已经不需要用 GCC 内置扩展:

#define container_of(ptr, type, member) ({ \
void *__mptr = (void *)(ptr); \
static_assert(__same_type(*(ptr), ((type *)0)->member) || \
__same_type(*(ptr), void), \
"pointer type mismatch in container_of()"); \
((type *)(__mptr - offsetof(type, member))); })

来源: https://github.com/torvalds/linux/blob/master/include/linux/container_of.h


相信不少人已经相当熟悉了,它的具体原理没必要再解释。



换换口味,再来看看 FreeBSD 的写法:

#define container_of(p, stype, field) ((stype *)(((uint8_t *)(p)) - offsetof(stype, field)))

来源: https://github.com/freebsd/freebsd-src/blob/main/sys/dev/cxgb/cxgb_adapter.h

一目了然,简洁易懂。


所以说,想要同时兼顾“更易理解”、“更少行数”,总会有办法的,尽管可能需要等很多年。

主题所讲的从教科书到 Linux 手动优化,显然也是教科书的做法出现得最早。所以或许以后会有人想得出更易理解但行数也不多的写法吧。
2022-05-20 01:38:26 +08:00
回复了 w20011025 创建的主题 C++ c++ gsoap ews exchange API sendmail getmail
ge_message(id)之后可以获得每个 message ,而每个 message 可以用 get_body()获取 HTML 内容,或者用 to_xml()获取原始 XML 内容。至于获取后怎么解析,那得自己找 HTML 解析工具。

至于图片,其实每个内嵌图片都是内联附件,messge.get_attachments()可以获取完整附件列表,包括内联附件和普通附件。内联附件用 is_inline()可以判断出来。
只不过 ews-cpp 的兼容性有限,未必能正确读取附件内容。

微软自家 C# 版本 EWS 库兼容性好得多,功能也多得多,只不过它也不能干 HTML parse 的工作,拿到邮件内容后也只能把邮件各部分内容提取出来,步骤也是类似的,顶多提取成功率比 ews-cpp 高得多,API 也多一些。

在 IDE 里面对着各种函数都不妨试一试,只要不是写操作,都不会有什么影响。
2022-05-18 19:47:26 +08:00
回复了 Kacxxia 创建的主题 宽带症候群 请教大佬们,不同宽带间如何互联
看一看路由器有没有双 WAN 功能,有的话就打开,这样就能一个路由器同时用两条宽带了。
没双 WAN 功能的就换个支持双 WAN 的路由器。

如果有 4 口或 6 口的软路由那就更简单。

接口 1 连宽带 A ,接口 2 连内网 A (假设是 192.168.10.0/24 ),设置成内网 A 经过宽带 A 出站
接口 3 连宽带 B ,接口 4 连内网 B (假设是 192.168.20.0/24 ),设置成内网 B 经过宽带 B 出站

正常来说,两个内网这样就可以相互访问,如果不通,软路由配置一下路由表就行。
2022-05-18 16:12:50 +08:00
回复了 w20011025 创建的主题 C++ c++ gsoap ews exchange API sendmail getmail
2022-05-16 19:51:17 +08:00
回复了 w20011025 创建的主题 C++ c++ gsoap ews exchange API sendmail getmail
有现成的库可以用:
https://github.com/otris/ews-cpp

仅仅用于发邮件、收邮件的话,基本够用。

如果是想用在内网环境,例如企业内网 EWS 服务器的话,有可能必须加上预处理宏 EWS_DISABLE_TLS_CERT_VERIFICATION

当然了,这个库跟微软自己的 C# 版的 EWS 库相比,差得远了
2022-05-16 16:49:13 +08:00
回复了 pwrliang 创建的主题 Linux [讨论] 为何 epoll_wait 有性能瓶颈?
想要压榨极限网络性能?那么可以考虑用 io_uring
2022-05-13 16:01:40 +08:00
回复了 saltbo 创建的主题 程序员 抄袭 localtest.me, 我买了 localtest.rs
恭喜塞尔维亚 Gov 又从 Rust 语言相关域名获得收入
2022-05-13 15:48:08 +08:00
回复了 cnbatch 创建的主题 Android 雷蛇手机应该是彻底退场不干了吧?换什么手机好呢?
@hokori 倒不是说显示屏有问题,而是它很接近我个人偏好但还没有 100%达到,所以一旦选无可选(还在尝试找),索尼基本就是唯一选择
2022-05-13 15:45:21 +08:00
回复了 cnbatch 创建的主题 Android 雷蛇手机应该是彻底退场不干了吧?换什么手机好呢?
@IslandOwnerHuang 连快充的充电控制都有点问题,去年换电池时发现鼓包的痕迹,基本可以确定是过充造成的,想不到雷蛇手机的过充控制这么差(这么看来它的 USB 充电确实很容易就完蛋)
2022-05-13 15:39:21 +08:00
回复了 Evovil 创建的主题 程序员 wsl2+vcsxsrv 终端延迟的问题。
@Evovil 想不到连输入法都能造成影响😲

感觉 SSH X11 这事有点玄学的味道了
2022-05-13 09:25:31 +08:00
回复了 kandaakihito 创建的主题 宽带症候群 海南要有第二条国际海底光缆了
@wangyuescr 当时在谷歌搜索“南京大 TS”( Tu Sha 的汉字),就会遭到即时的 HTTP Reset ,然后在接下来的几分钟内都打不开谷歌,需要几分钟后才能重新打开。

其实只要搜索词内包含关键字,都会遭到 Reset 。

当年“南京大 TS”导致页面 Reset 这件事被百度水军和部分百度爱好者拿来“证明”谷歌故意屏蔽,不少人还真的信了,而实际上却跟那群人的“证明”相反,是因为“大 TS”刚好是关键词所以遭到阻断。

至于围绕“抗战主力中流砥柱”的地位争论,两岸一直各说各话。“习连会”后稍有缓和,但没多久又恢复各执一词的原状。
2022-05-12 19:16:28 +08:00
回复了 Evovil 创建的主题 程序员 wsl2+vcsxsrv 终端延迟的问题。
尴尬,有个地方稍微说得不太完整。

"x11 转发最初不是为图形界面而设计的,所以一旦转发图形界面就会有效率问题。"

这句应该这样讲

"ssh 转发最初不是为图形界面而设计的,所以一旦转发 x11 图形界面就会有效率问题"


我当时只顾着看 PuTTY 的 Connection 各项设置都把自己搞糊涂了。


然后我又意外发现开启 /关闭 SSH 压缩原来也会对图形性能带来影响,估计是因为数据量大并且吃 CPU 性能,如果 CPU 太忙,或者 CPU 单核性能不太好的话,一压一解双重负担造成 X11 转发性能下降。

以快速刷页面甚至看视频为例,开启压缩的表现是,幻灯片滚动得比较快一点,但键鼠操作会有一点迟滞感,同时 CPU 风扇转得挺厉害;关闭压缩后的表现是,依然还是幻灯片,但出现了窗帘效应(画面刷新从上往下滚),键鼠响应是快了点但没什么用,我按个右键时,菜单上部确实很快就出现了,但接下来的画面却是幻灯片式刷出来……

我是用公司给的旧电脑( X260 ,i5-6300U + 16G RAM )连接 4K 显示器做试验的,Win10 20H1 。
(要不是我工作用的台式机才 8G RAM ,肯定不会去领取这种电脑。对,公司够抠门的,我自己家的电脑再烂都不会这样)
今天已经退了回去,重新申请在公司服务器上给我开个 Linux 虚拟机。

进一步证实 SSH 确实不适合转发图形界面。
2022-05-12 16:18:01 +08:00
回复了 Joker123456789 创建的主题 Java 关于 Java 很啰嗦的问题
@LotusChuan 不止语言宗教战争,还有框架宗教战争、IDE 宗教战争、操作系统宗教战争、许可证宗教战争。

v 站稍微好一点,只是用户自发聊起来。

某个 O 开头的开源资讯站(同时也是国内 git 托管公司)那边就不一样了,是由内部员工亲自发起这类宗教大战,不止发布开源软件新闻、行业新闻时会有意无意地这样做,甚至会以编辑部的名义亲自撰写这类大战文章,生怕没人吵架带不来流量。我原本打算单独发贴说 oschina 的事情的,结果刚发出来没多久就被一个疑似 o 站的员工 at 了下站长,要站长转水。于是我索性自己移到“水”算了,免得以后被人搞针对。接下来我特意搜了下,原来 o 站在这里有专门的官方号,不知道是不是相互有合作,所以不让说。
2022-05-12 14:54:26 +08:00
回复了 cnbatch 创建的主题 Android 雷蛇手机应该是彻底退场不干了吧?换什么手机好呢?
@zxxufo008 不是指边框,而是指显示屏本身

我专门翻过 Xperia 1 的各种测评文章,他们都有真机实拍图,特意观察过 Xperia 1 的显示屏四角看起来像纯直角,但其实还是圆的

机身边框四角圆不圆我并不介意的,介意的是显示屏
2022-05-12 14:49:41 +08:00
回复了 cnbatch 创建的主题 Android 雷蛇手机应该是彻底退场不干了吧?换什么手机好呢?
@LaGeNanRen 灯厂当初出手机时,大家也是很惊讶。居然还出了两代。

就是这台:
https://press.razer.com/product-news/razer-announces-the-razer-phone-2/
2022-05-12 14:43:49 +08:00
回复了 cnbatch 创建的主题 Android 雷蛇手机应该是彻底退场不干了吧?换什么手机好呢?
@bthulu 咸鱼水太深,加上雷蛇的手机故障率不低,就怕遇到专卖隐患货的,这样不管买几台都容易翻车

我确实差点下单买一台二手同型号雷蛇,但看到不少人转售翻车机就又暂时放弃这个想法了
2022-05-12 14:37:29 +08:00
回复了 cnbatch 创建的主题 Android 雷蛇手机应该是彻底退场不干了吧?换什么手机好呢?
@zxxufo008
@Dkngit
@hokori

其实仔细观察的话,可以发现索尼 Xperia 1 系列的屏幕四角依然还是切成圆角的,虽然看起来不算明显。

这也是为什么我这几个月找不到,只好发帖问的原因。

可能到最后 Xperia 1 可能不得不选,“实在找不到了就选它”。看了好几个星期,似乎现在新机就只有 Xperia 1 最接近需求了。
2022-05-12 04:10:27 +08:00
回复了 missx 创建的主题 Android 2022 年的 Google 开发者大会直播讨论汇总贴。直播已经开始
提到 Flutter 的跨平台能力时,没有提到 BSD 。看来暂时还是不支持 BSD 。有点小可惜。
2022-05-12 04:07:06 +08:00
回复了 missx 创建的主题 Android 2022 年的 Google 开发者大会直播讨论汇总贴。直播已经开始
Flutter 环节的主讲人(也是 Flutter 负责人,是个英国人)微软前员工 Tim Sneath 亲自出现演讲,继续好评,因为个人习惯的原因,我对没有儿化音的听力反应相对快一些(不止英语,连汉语也是)

接下来的 Francis Ma 应该是个华人,也要给好评,终于稍微松了一口气——真好,不是印度人。起码华人的技术管理能力比印度人好得多,希望那些“3”们的烂代码能少一点。Firebase 是收购回来的公司,“3”国人应该没那么多吧(我希望如此,但这么多年了也没法保证吧)
2022-05-12 03:41:18 +08:00
回复了 missx 创建的主题 Android 2022 年的 Google 开发者大会直播讨论汇总贴。直播已经开始
Google 翻译 AR 版实在印象深刻,反应实在够快的。准确度也不错。

顺便试了下现在的 Google 翻译(英译中),似乎还是有点怪。

https://telegra.ph/Google%E7%BF%BB%E8%AF%91ITV%E6%96%B0%E9%97%BBA-glimpse-into-the-future-as-Charles-reads-Queens-Speech-for-the-first-time-05-11
1 ... 61  62  63  64  65  66  67  68  69  70 ... 71  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2837 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 35ms · UTC 09:18 · PVG 17:18 · LAX 01:18 · JFK 04:18
Developed with CodeLauncher
♥ Do have faith in what you're doing.