虫虫首页|资源下载|资源专辑|精品软件
登录|注册

more+最新资源

more+技术阅读

  • C++20最重要的三个新特性

    上传时间:02-15

  •   资源简介:C++之父都说过,C++20是C++语言的一次重大变革,引入了大量的新特性。这其中个人认为最重要新特性是这三个:ModulesCoroutinesConceptsModules直接看代码:// helloworld.ixxexport module helloworld; // module declarationimport <iostream>; // import declarationexport void hello() { // export decla...

  • 从C语言实现面向对象探究class的秘密

    上传时间:02-15

  •   资源简介:这里我想主要介绍下在C语言中是如何实现的面向对象。知道了C语言实现面向对象的方式,我们再联想下,C++中的class的运行原理是什么?首先我们来写一段C++的class,拿一个Student类来举例子:在头文件中,我定义一个Student类:#pragma onceclass Student {public:  void SetNumber(int number);  void SetGrade(int gra...

  • 一场开发者的盛宴,你怎么能缺席?

    上传时间:02-15

  •   资源简介:在人工智能日益融合、异构及多架构的编程时代,如何进行跨架构的高性能与加速计算?属于开发者头脑风暴的时刻已经来临,通过技术创新将带来更高的开发能力。如果您是C++ 或 GPU 程序员、AI 开发人员、研究员或数据科学家,如果您对跨架构的高性能与加速计算感兴趣,那么您一定会从这个活动中有所收获。Intel将于10月19日北...

  • 相比于C++23,我更期待C++26

    上传时间:02-15

  •   资源简介:十一之前我去参加了C++全球开发者大会,今天才有时间和大家分享下。听了C++之父的分享,C++之父聊了下他对C++23和C++26新标准的展望,如图:可以看到C++23的更新主要是提供协程库和模块标准库,都是在完善C++20引入的特性,其实没什么新的东西。然而说会在C++23引入的network和executors,也终于不出意外的延期到了C++26。...

  • C语言如何实现面向对象

    上传时间:02-15

  •   资源简介:这里主要介绍下在C语言中是如何实现的面向对象。知道了C语言实现面向对象的方式,再联想下,C++中的class的运行原理是什么?首先看一段C++的class,拿一个Student类来举例子:在头文件中,我定义一个Student类:#pragma onceclass Student {public:  void SetNumber(int number);  void SetGrade(int grade);  void P...

  • DMA原理

    上传时间:02-15

  •   资源简介:DMA,全称Direct Memory Access,即直接存储器访问。DMA传输将数据从一个地址空间复制到另一个地址空间,提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。我们知道CPU有转移数据、计算、控制程序转移等很多功能,系统运作的核心就是CPU,CPU无时不刻的在处理着大量的事务,但有些事情却没有那么重要,比方说...

  • 这五个问题,你也想问吧

    上传时间:02-15

  •   资源简介:常常有读者问我:我不是科班出身,我工作经验不够丰富,新知识无法实践,面试的时候怎么快速证明自己的能力......该怎么办?以上问题我和很多同行都聊过,自己亲身也经历过,今天和大家分享下我的体会。非科班出身,怎么证明自己的实力?实话实说,在找工作方面,非科班出身不太占优势,我之前也和很多非科班出身的朋友聊过...

  • C++ 使用协程需要注意的问题

    上传时间:02-15

  •   资源简介:在异步操作里,如异步连接、异步读写之类的协程,co_await这些协程时需要注意线程切换的细节。以asio异步连接协程为例:class client {public:    client() {        thd_ = std::thread([this]{            io_ctx_.run();        });    }    async_simple::coro::Lazy<boo...

  • C++ std::function的开销

    上传时间:02-15

  •   资源简介:经常看到说function的开销比较大,慎用function之类的讨论。那function究竟哪里开销大,我找到了一篇为function做profile的文章,这篇文章中的英文比较简单,我就不翻译了,英文吃力的朋友也可以直接看下面的数据:Popular folklore demands that you avoid std::function if you care about performance.But is it reall...

  • C++性能白皮书

    上传时间:02-15

  •   资源简介:最近看完了《C++性能白皮书》,这本书列出了一些性能优化的思路,不过只是一些指引,没有讲具体细节,我整理出了其中的关键点分享给大家:硬件篇作为一个程序员,想要性能优化,最好要了解些硬件,特别是CPU架构的一些知识点:流水线分支预测寄存器重命名数据预取指令重排和乱序执行同时多线程(超线程)数据并行 SIMD 单...

  • CPU Cache伪共享问题

    上传时间:02-15

  •   资源简介:先看下这两段代码:代码段1:const int row = 10240;const int col = 10240;int matrix[row][col];int TestRow() { //按行遍历 int sum_row = 0; for (int r = 0; r < row; r++) { for (int c = 0; c < col; c++) { sum_row += matrix[r][c]; } } return sum_row;}代码段2:int TestCol() { //按列遍历 i...

  • C++ coroutine generator 实现笔记

    上传时间:02-15

  •   资源简介:本文授权自知乎用户IceBear,点击文末”阅读原文“查看原文章。C++20 给我们带来了非常现代化的协程特性,但是主要的增加都集中于语核部分。由于库特性尚未准备充分,所以 C++20 标准库中尚没有多少现成的、组装好的协程设施供我们使用。但是!仅仅通过使用 std::coroutine_handle (这是一个编译器为之开洞的类)并在你...

  • Rust学习资料

    上传时间:02-15

  •   资源简介:最近在研究Rust,目前大多数项目都可以使用Rust开发,但是涉及到和其他语言交互,比如用Rust开发一个SDK,一般还是需要导出C接口。那如何将Rust导出C接口?Rust的FFI就是专门做这件事的。一个正常的Rust public接口长这样:pub fn hello_world() -> i32 { 20}如果要把一个Rust函数导出为C接口,需要对它进行改造:#[no_m...

  • 《计算机网络:自顶向下方法》全新第8版

    上传时间:02-15

  •   资源简介:20多年持续打磨,国际经典教材计算机网络:自顶向下方法 文末送书!Kurose和他的自顶向下方法就在最近,Kurose和Ross教授合著的《计算机网络:自顶向下方法》中文版也刚刚升级到了第8版,这是一本目前世界上使用最为广泛的网络教科书,书中倡导的方法就是目前最为流行的自頂向下方法。下面我们就深入地谈谈Kurose和他的自...

  • 百度工程师带你探秘C++内存管理(ptmalloc篇)

    上传时间:02-15

  •   资源简介:作者 | daydreamer前篇《探秘C++内存管理(理论篇)》主要介绍了Linux C++程序内存管理的理论基础,本文作为系列文章《探秘C++内存管理》的第二篇,将会探讨经典内存管理器ptmalloc如何管理C++程序的内存。借助剖析ptmalloc解决问题的着重点和设计实现成本的权衡,更具体的呈现c++内存管理面临的问题和工程落地中的巧思。...

  • 总排行
  • 月排行
  • 周排行

最新专辑