C 中文周刊 第71期
从reddit/hackernews/lobsters/meetingcpp摘抄一些c 动态
周刊项目地址|在线地址 |知乎专栏 | 腾讯云 社区 |
---|
弄了个qq频道,手机qq点击进入
欢迎投稿,推荐或自荐文章/软件/资源等,请提交 issue
2022 07 15
资讯
CPPcon 2022要开始了。2021我还没有看完
标准委员会动态/ide/编译器信息放在这里
编译器信息最新动态推荐关注hellogcc公众号 本周更新 2022-07-13 第158期
文章
- C 异步:structured concurrency实现解析
值得一看
- C 异步:libunifex的scheduler实现!
值得一看
- asio如何处理eof错误
了解一下asio的背景
- C 20 约束 constraint 元对象化: detector 设计模式
上面这四篇都是purecpp公众号的。大家也可以去公众号看看
- Programming PCA From Scratch In C
- Calculating SVD and PCA in C
感兴趣的看下吧。数学和图形学?看不懂
- Processing a ValueSet or PropertySet even in the face of possible mutation, part 1
- Processing a ValueSet or PropertySet even in the face of possible mutation, part 2
- Processing a ValueSet or PropertySet even in the face of possible mutation, part 3
手把手教你写代码,考虑各种场景
- New std::optional Checks in Visual Studio 2022 version 17.3 Preview 3
介绍msvc特性
- Filtering numbers faster with SVE on Graviton 3 processors
arm的特性。现在arm的机器越来越多了。省钱 代码长这样。有兴趣的可以看看,我看不懂
代码语言:javascript复制void remove_negatives(const int32_t *input, int64_t count, int32_t *output) {
int64_t j = 0;
const int32_t* endPtr = input count;
const uint64_t vl_u32 = svcntw();
svbool_t all_mask = svptrue_b32();
while(input <= endPtr - (4*vl_u32))
{
svint32_t in0 = svld1_s32(all_mask, input 0*vl_u32);
svint32_t in1 = svld1_s32(all_mask, input 1*vl_u32);
svint32_t in2 = svld1_s32(all_mask, input 2*vl_u32);
svint32_t in3 = svld1_s32(all_mask, input 3*vl_u32);
svbool_t pos0 = svcmpge_n_s32(all_mask, in0, 0);
svbool_t pos1 = svcmpge_n_s32(all_mask, in1, 0);
svbool_t pos2 = svcmpge_n_s32(all_mask, in2, 0);
svbool_t pos3 = svcmpge_n_s32(all_mask, in3, 0);
in0 = svcompact_s32(pos0, in0);
in1 = svcompact_s32(pos1, in1);
in2 = svcompact_s32(pos2, in2);
in3 = svcompact_s32(pos3, in3);
svst1_s32(all_mask, output j, in0);
j = svcntp_b32(all_mask, pos0);
svst1_s32(all_mask, output j, in1);
j = svcntp_b32(all_mask, pos1);
svst1_s32(all_mask, output j, in2);
j = svcntp_b32(all_mask, pos2);
svst1_s32(all_mask, output j, in3);
j = svcntp_b32(all_mask, pos3);
input = 4*vl_u32;
}
int64_t i = 0;
count = endPtr - input;
svbool_t while_mask = svwhilelt_b32(i, count);
do {
svint32_t in = svld1_s32(while_mask, input i);
svbool_t positive = svcmpge_n_s32(while_mask, in, 0);
svint32_t in_positive = svcompact_s32(positive, in);
svst1_s32(while_mask, output j, in_positive);
i = svcntw();
j = svcntp_b32(while_mask, positive);
while_mask = svwhilelt_b32(i, count);
} while (svptest_any(svptrue_b32(), while_mask));
}
- Clang Debugging C Coroutines
目测协程还是不太成熟,clang的文档可以看看
- Notes: folly::ThreadLocalPtr
讲folly实现的。值得一看
- The magic of bits “Bitwise”
讲位运算的。不如看hacker‘s delight
视频
- C Weekly- Ep 332 - C Lambda vs std::function vs Function Pointer
抽象程度 std::function callable,是个能存的对象,能存lambda lambda只是一个能call的对象。右值。比函数对象能灵活点,匿名函数对象 函数指针也是个能存的,但是比std::function残废,不能保存有状态的lambda,比如有捕获的lambda
- Many an
any
- Alisdair Meredith - ACCU 2022
手把手教你写any
- Principia Mathematica: The Foundations of Arithmetic in C - Lisa Lippincott - CppNow 2022
讲的整型约束。这个在cppcoin 2021上讲过。听不动。很困
开源项目需要人手
- asteria 一个脚本语言,可嵌入,长期找人,希望胖友们帮帮忙,也可以加群384042845和作者对线
- pika 一个nosql 存储, redis over rocksdb,非常需要人贡献代码胖友们, 感兴趣的欢迎加群294254078前来对线
新项目介绍/版本更新
- unordered_dense hashmap实现,flatmap
- tinylisp 99行c实现lisp
工作招聘
有没有小卖铺缺收银员
看到这里或许你有建议或者疑问或者指出错误,请留言评论! 多谢! 你的评论非常重要!也可以帮忙点赞收藏转发!多谢支持!
本文永久链接
代码语言:txt复制 This site is open source. [Improve this page](https://github.com/wanghenshui/cppweeklynews/edit/dev/posts/071.md).