积分充值
 首页
前端开发
AngularDartElectronFlutterHTML/CSSJavaScriptReactSvelteTypeScriptVue.js构建工具
后端开发
.NetC#C++C语言DenoffmpegGoIdrisJavaJuliaKotlinLeanMakefilenimNode.jsPascalPHPPythonRISC-VRubyRustSwiftUML其它语言区块链开发测试微服务敏捷开发架构设计汇编语言
数据库
Apache DorisApache HBaseCassandraClickHouseFirebirdGreenplumMongoDBMySQLPieCloudDBPostgreSQLRedisSQLSQLiteTiDBVitess数据库中间件数据库工具数据库设计
系统运维
AndroidDevOpshttpdJenkinsLinuxPrometheusTraefikZabbix存储网络与安全
云计算&大数据
Apache APISIXApache FlinkApache KarafApache KyuubiApache OzonedaprDockerHadoopHarborIstioKubernetesOpenShiftPandasrancherRocketMQServerlessService MeshVirtualBoxVMWare云原生CNCF机器学习边缘计算
综合其他
BlenderGIMPKiCadKritaWeblate产品与服务人工智能亿图数据可视化版本控制笔试面试
文库资料
前端
AngularAnt DesignBabelBootstrapChart.jsCSS3EchartsElectronHighchartsHTML/CSSHTML5JavaScriptJerryScriptJestReactSassTypeScriptVue前端工具小程序
后端
.NETApacheC/C++C#CMakeCrystalDartDenoDjangoDubboErlangFastifyFlaskGinGoGoFrameGuzzleIrisJavaJuliaLispLLVMLuaMatplotlibMicronautnimNode.jsPerlPHPPythonQtRPCRubyRustR语言ScalaShellVlangwasmYewZephirZig算法
移动端
AndroidAPP工具FlutterFramework7HarmonyHippyIoniciOSkotlinNativeObject-CPWAReactSwiftuni-appWeex
数据库
ApacheArangoDBCassandraClickHouseCouchDBCrateDBDB2DocumentDBDorisDragonflyDBEdgeDBetcdFirebirdGaussDBGraphGreenPlumHStreamDBHugeGraphimmudbIndexedDBInfluxDBIoTDBKey-ValueKitDBLevelDBM3DBMatrixOneMilvusMongoDBMySQLNavicatNebulaNewSQLNoSQLOceanBaseOpenTSDBOracleOrientDBPostgreSQLPrestoDBQuestDBRedisRocksDBSequoiaDBServerSkytableSQLSQLiteTiDBTiKVTimescaleDBYugabyteDB关系型数据库数据库数据库ORM数据库中间件数据库工具时序数据库
云计算&大数据
ActiveMQAerakiAgentAlluxioAntreaApacheApache APISIXAPISIXBFEBitBookKeeperChaosChoerodonCiliumCloudStackConsulDaprDataEaseDC/OSDockerDrillDruidElasticJobElasticSearchEnvoyErdaFlinkFluentGrafanaHadoopHarborHelmHudiInLongKafkaKnativeKongKubeCubeKubeEdgeKubeflowKubeOperatorKubernetesKubeSphereKubeVelaKumaKylinLibcloudLinkerdLonghornMeiliSearchMeshNacosNATSOKDOpenOpenEBSOpenKruiseOpenPitrixOpenSearchOpenStackOpenTracingOzonePaddlePaddlePolicyPulsarPyTorchRainbondRancherRediSearchScikit-learnServerlessShardingSphereShenYuSparkStormSupersetXuperChainZadig云原生CNCF人工智能区块链数据挖掘机器学习深度学习算法工程边缘计算
UI&美工&设计
BlenderKritaSketchUI设计
网络&系统&运维
AnsibleApacheAWKCeleryCephCI/CDCurveDevOpsGoCDHAProxyIstioJenkinsJumpServerLinuxMacNginxOpenRestyPrometheusServertraefikTrafficUnixWindowsZabbixZipkin安全防护系统内核网络运维监控
综合其它
文章资讯
 上传文档  发布文章  登录账户
IT文库
  • 综合
  • 文档
  • 文章

无数据

分类

全部后端开发(20)C++(20)

语言

全部中文(简体)(19)中文(繁体)(1)

格式

全部PDF文档 PDF(10)PPT文档 PPT(10)
 
本次搜索耗时 0.057 秒,为您找到相关结果约 20 个.
  • 全部
  • 后端开发
  • C++
  • 全部
  • 中文(简体)
  • 中文(繁体)
  • 全部
  • PDF文档 PDF
  • PPT文档 PPT
  • 默认排序
  • 最新排序
  • 页数排序
  • 大小排序
  • 全部时间
  • 最近一天
  • 最近一周
  • 最近一个月
  • 最近三个月
  • 最近半年
  • 最近一年
  • ppt文档 C++高性能并行编程与优化 - 课件 - 16 现代 CMake 模块化项目管理指南

    ),避免符号冲突 • 在声明和定义外面都套一层名字空间,例如此处我的子项目名是 biology ,那 我就 biology::Animal 。避免暴露全局的 Animal 。这是因为万一有个“不拘一 格”的第三方库也暴露个全局的 Animal ,两个符号就会发生冲突,由于类符号 都具有 weak 属性,链接器会随机选择一个覆盖掉,非常危险! • (关于符号的 weak 属性,以后单独开一门 C++ 课讲讲,这一课还是重点关注 function 中则是基于定义者所在路径,优先访问定义者的作用域。这里需要 set(key val PARENT_SCOPE) 才能修改到外面的变量。 第二章:第三方库 / 依赖项配置 用 find_package 寻找系统中安装的第三方库并链接他们 find_package 命令 • 常用参数列表一览: • find_package( [version] [EXACT] libQt5Widgets.so 、 libQt5Network.so 。因此 CMake 要求所有第三方 库作者统一包装成一个 Qt5Config.cmake 文件包含所有相关信息(类似于 nodejs 的 package.json ),比你单独的一个个去找动态库文件要灵活的多。 • 包配置文件由第三方库的作者( Qt 的开发团队)提供,在这个库安装时( Qt 的安装程序 或 apt install
    0 码力 | 56 页 | 6.87 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 01 学 C++ 从 CMake 学起

    # 添加一个宏定义 • add_compile_options(-fopenmp) # 添加编译器命令行选项 第三方库 - 作为纯头文件引入 • 有时候我们不满足于 C++ 标准库的功能,难免会用到一些第三方库。 • 最友好的一类库莫过于纯头文件库了,这里是一些好用的 header-only 库: 1. nothings/stb - 大名鼎鼎的 stb_image include_directories(spdlog/include) 即 可。 • 缺点:函数直接实现在头文件里,没有提前编译,从而需要重复编译同样内容,编译时间长。 glm - 使用这个神奇的数学库 第三方库 - 作为子模块引入 • 第二友好的方式则是作为 CMake 子模块引入,也就是通过 add_subdirectory 。 • 方法就是把那个项目(以 fmt 为例)的源码放到你工程的根目录: libigl/libigl - 各种图形学算法大合集 fmt - 使用这个神奇的格式化库 • fmt::format 的用法和 Python 的 str.format 大致相似: CMake - 引用系统中预安装的第三方库 • 可以通过 find_package 命令寻找系统中的包 / 库: • find_package(fmt REQUIRED) • target_link_libraries(myexec
    0 码力 | 32 页 | 11.40 MB | 1 年前
    3
  • pdf文档 《深入浅出MFC》2/e

    比较能让我了解的书呀?」但是读了您的深入浅出MFC 之后,把我80% 的疑虑通通消 除掉了。想永远做您的读者的读者敬上。 David david@mail.u-p-c.com 我是您的读者,虽然我尚未看完这本书,只看到第三篇的第5章,但我忍不住要把心得告诉 您。去年我因为想写Windows 程序而买您的书,说老实话,我实在看不懂您所写的文字(我 真的懂C++ 语法,也用Visual Basic 写过Windows END_MESSAGE_MAP。感激不尽,因为 我常搞不清楚。 titoni:可参考侯俊杰着的深入浅出MFC 2/e 第三章,第八章及第九章,书上的讲解可 以让你有很大的收获。 好象世界末日:最近买了深入浅出MFC。我一页一页仔细地阅读。第一章...第二章... 勉强有点概念,但是到了第三章,感觉好象世界末日了。MFC 六大技术的仿真...好象很 难懂,读起来非常吃力 是不是有其它书讲得比较简单的?我不是计算机科系学生,只是 tw:是的,第三章也许是世界末日,当初我看的时候也是跳过不 看,不然就是看完frame1 后就说再见了。但是你只要很努力地慢慢看,一步一步地看, 你就会发现后面的章节是那么清楚明了... 慢慢来吧,这第三章我也是看了三遍才弄懂了 一次。我也非计算机科系学生,与你相同的路子走来,有点SDK 概念和一点Data structure 概念,对第三章会很容易懂的,加油。 轶名:我看第三章的时候也很
    0 码力 | 1009 页 | 11.08 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 15 C++ 系列课:字符与字符串

    束的那个字符所在的位置,很绕口?来看个例子就懂了。 • 例如 stoi(“42yuan”, &pos) 会返回 42 ,并把 pos 设为 2 。因为 ‘ y’ 是数字 部分结束的地方,而 ‘ y’ 是第三个字符,但是计算机数数从 0 开始,所以计 算机说这是第 2 个字符,没毛病。 • 为什么要指针?因为 stoi 的返回值已经是 int 了,要额外的返回值只能这样 。 stoi 的第二参数: 。 • 有时候我们的字符串里是十六进制的数字,如何解析呢?例如 “ 7cfe” 。 • 这就要用到 stoi 的第三个参数 base 了,他默认为 10 ,代表十进制。 • 如果需要解析十六进制的数字就把 base 设为 16 ,八进制就让 base 为 8 。 • 因为指定第三参数前需要先指定第二参数,如果不用第二参数,写个 nullptr 就行了,例如 stoi(“7cfe”, nullptr 看做额外字符忽略掉了(因为 c 不是十进制意义下的 数字)。 • 十六进制的字母无视大小写,例如 stoi(“7CFE”, nullptr, 16) 的也会得到 31198 。 stoi 的第三参数: base stoi 的 base 参数实战案例 冷知识: stof 支持科学计数法 字符串流 第 5 章 那 to_string 能不能指定十六进制? • 很遗憾, to_string
    0 码力 | 162 页 | 40.20 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 11 现代 CMake 进阶指南

    文件所在目录,运行时会优先从 RPATH 里找链接库,所以即使不在同目录也 能找到。 • 所以还有第三种解决方案:微软,我卸卸你全家(指卸载)。然后安装 Arch Linux 系统 。 • 需要手动修改或查看一个 ELF 文件的 RPATH ,可以用 chrpath 或 patchelf 命令。 yyds 第 5 章:链接第三方库 案例:需要使用 tbb 这个库 直接链接 tbb 的缺点 如果这样直接指定 不论是 TBBConfig.cmake 还是 FindTBB.cmake ,这个文件通常 由库的作者提供,在 Linux 的包管理器安装 tbb 后也会自动安装 这个文件。少部分对 CMake 不友好的第三方库,需要自己写 FindXXX.cmake 才能使用。 老年项目案例: OpenVDB (反面教材) 一些老年项目作者喜欢在项目里自己塞几个 FindXXX.cmake ,然而版本可能和系统里 Qt5_DIR 这个变量为 C:\Qt\Qt5.14.2\msvc2019_64\lib\cmake 。 • 这样只有 Qt5 这个包会去这个目录里搜索 Qt5Config.cmake ,更有针对性。 • 第三种 ( 推荐 ) ,直接在命令行通过 -DQt5_DIR=”xxx” 指定,这样不用修改 CMakeLists.txt 。 • 第四种,还可以通过设置环境变量 Qt5_DIR 也是可以的,就是对
    0 码力 | 166 页 | 6.54 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 13 C++ STL 容器全解之 vector

    insert 函数,插到指定的元素前方 • 如果要插入到一个特定位置,可以用迭代 器的加法来获取某一位置的迭代器。 • 例如 a.begin() + 3 就会指向第三个元素, 那么用这个作为 insert 的参数就会把 233 这个值插到第三个元素的位置之前。 • iterator insert(const_iterator pos, int const &val); • iterator i 就是删除第一个元素(相当于 pop_front )。 • a.erase(a.end() - 1) 就是删除最后一个元素(相当于 pop_back )。 • a.erase(a.begin() + 2) 就是删除第三个元素。 • a.erase(a.end() - 2) 就是删除倒数第二个元素。 • erase 的复杂度最坏情况是删除第一个元素 O(n) 。 • 如果删的是最后一个元素则复杂度为 O(1) 函数,批量删除一个区间 • erase 也可以指定两个迭代器作为参数,表示把这个区间内的对象都删除。 • 比如这里 a.erase(a.begin() + 1, a.begin() + 3) 就删除了 a 的第二个和第三个元素,相当于牌神 的 del a[1:3] ,注意 C++ 的 insert 和 erase 都是就地操作的。 • 例如: a.erase(a.begin() + n, a.end()) 就和
    0 码力 | 90 页 | 4.93 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 17 由浅入深学习 map 容器

    可以配合着 用。 • for (auto [k, v]: m) { • print(k, v); } • auto [k, v] 这个就是 structural-binding ,我们第三课讲 tuple 时就介绍过了。 • 本来是要再写一行 auto [k, v] = tmp 的,但是 C++17 开恩,允许两个语法糖一起 用, C++ 之父他真的我哭死。 不客气,小彭老师 不客气,小彭老师 里面第一部分,也就是初始化语句: it = map.begin() 代表从最左节点开始出发。 • 第二部分,也就是判断是否退出的条件: it != map.end() 判断是否抵达最右节点的下一个 。 • 第三部分,也就是每次循环后执行的更新语句: ++it 会让迭代器往下一个节点移动。 • 所以人话就是:从根节点出发,不断向下一个移动,直到没有节点可遍历了。 • 而 for 里面的循环体,会对每个不同的 这刚好是中根遍历的顺序,左中右。所以迭代器的 ++ 方向刚好是 K 越来越大的方向。 • 结论:遍历时,总是会按 K 从小到大的顺序。 k k k k k k v v v v v v 小 大 第三章:二叉排序树 高效的查找离不开我 高效的查找离不开我 回顾 set 容器 • 上一期 (BV1m34y157wb) ,我们已经讲了 set 容器,特点是自动去重 + 高效查找。 • set
    0 码力 | 90 页 | 8.76 MB | 1 年前
    3
  • pdf文档 Hello 算法 1.0.0b4 C++版

    o.git 当然,你也可以点击“Download ZIP”直接下载代码压缩包,然后在本地解压即可。 0. 前言 hello‑algo.com 5 Figure 0‑4. 克隆仓库与下载代码 第三步:运行源代码。如果代码块顶部标有文件名称,则可以在仓库的 codes 文件夹中找到相应的源代码文 件。源代码文件将帮助你节省不必要的调试时间,让你能够专注于学习内容。 Figure 0‑5. 代码块与对应的源代码文件 系。在刷题方面,可以尝试采用进阶刷题策略,如按专题分类、一题多解、一解多题等,相关的刷题心 得可以在各个社区找到。 作为一本入门教程,本书内容主要涵盖“第一阶段”,旨在帮助你更高效地展开第二和第三阶段的学习。 Figure 0‑7. 算法学习路线 0.3. 小结 ‧ 本书的主要受众是算法初学者。如果已有一定基础,本书能帮助您系统回顾算法知识,书内源代码也可 作为“刷题工具库”使用。 赋值为 True ,代表它已被选择。 ‧ 遍历选择列表 choices 时,跳过所有已被选择过的节点,即剪枝。 如下图所示,假设我们第一轮选择 1 ,第二轮选择 3 ,第三轮选择 2 ,则需要在第二轮剪掉元素 1 的分支, 在第三轮剪掉元素 1, 3 的分支。 Figure 13‑6. 全排列剪枝示例 观察上图发现,该剪枝操作将搜索空间大小从 ?(??) 降低至 ?(?!) 。 代码实现
    0 码力 | 343 页 | 27.39 MB | 1 年前
    3
  • pdf文档 Hello 算法 1.0.0b5 C++版

    当然,你也可以在图 0‑4 所示的位置,点击“Download ZIP”直接下载代码压缩包,然后在本地解压即可。 第 0 章 前言 hello‑algo.com 6 图 0‑4 克隆仓库与下载代码 第三步:运行源代码。如图 0‑5 所示,对于顶部标有文件名称的代码块,我们可以在仓库的 codes 文件夹内 找到对应的源代码文件。源代码文件可一键运行,将帮助你节省不必要的调试时间,让你能够专注于学习内 系。在刷题方面,可以尝试采用进阶刷题策略,如按专题分类、一题多解、一解多题等,相关的刷题心 得可以在各个社区找到。 如图 0‑7 所示,本书内容主要涵盖“第一阶段”,旨在帮助你更高效地展开第二和第三阶段的学习。 第 0 章 前言 hello‑algo.com 8 图 0‑7 算法学习路线 0.3 小结 ‧ 本书的主要受众是算法初学者。如果已有一定基础,本书能帮助您系统回顾算法知识,书内源代码也可 True ,代表它已被选择。 ‧ 遍历选择列表 choices 时,跳过所有已被选择过的节点,即剪枝。 如图 13‑6 所示,假设我们第一轮选择 1 ,第二轮选择 3 ,第三轮选择 2 ,则需要在第二轮剪掉元素 1 的分 支,在第三轮剪掉元素 1 和元素 3 的分支。 图 13‑6 全排列剪枝示例 观察图 13‑6 发现,该剪枝操作将搜索空间大小从 ?(??) 降低至 ?(?!) 。 2. 代码实现
    0 码力 | 377 页 | 30.69 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 06 TBB 开启的并行编程之旅

    结论:串行扫描的时间复杂度为 O(n) ,工作复杂度为 O(n) 。 并行扫描 第一步、 4 个线程,每人处理 2 个元素的缩并,花了 1 秒 第二步、 1 个线程,独自处理 3 个元素的缩并,花了 3 秒 第三步、 3 个线程,每人处理 2 个元素的缩并,花了 1 秒 用电量: 4*1+1*3+3*1=10 度电 总用时: 1+3+1=5 秒 结论:并行扫描的时间复杂度为 O(n/c+c) ,工作复杂度为 O(n+c) ,其中 n 是元素个数 改进的并行扫描( GPU ) 第一步、 4 个线程,每个处理 2 个元素的扫描,花了 1 秒 第而步、 4 个线程,每个处理 2 个元素的扫描,花了 1 秒 第三步、 4 个线程,每个处理 2 个元素的扫描,花了 1 秒 用电量: 3*4=12 度电 总用时: 1*3=3 秒 结论:改进后的并行扫描的时间复杂度为 O(logn) ,工作复杂度为 O(nlogn)
    0 码力 | 116 页 | 15.85 MB | 1 年前
    3
共 20 条
  • 1
  • 2
前往
页
相关搜索词
C++高性性能高性能并行编程优化课件1601深入深入浅出MFC15111317Hello算法1.00b40b506
IT文库
关于我们 文库协议 联系我们 意见反馈 免责声明
本站文档数据由用户上传或本站整理自互联网,不以营利为目的,供所有人免费下载和学习使用。如侵犯您的权益,请联系我们进行删除。
IT文库 ©1024 - 2025 | 站点地图
Powered By MOREDOC AI v3.3.0-beta.70
  • 关注我们的公众号【刻舟求荐】,给您不一样的精彩
    关注我们的公众号【刻舟求荐】,给您不一样的精彩