Go读书会第二期社区的优秀项目和代 码,看看他们怎么做的 践行哲学,遵循惯例,认清本质,理解原理 Part2 – 项目基础:布局、代码风格与命名 践行哲学,遵循惯例,认清本质,理解原理 每个 gopher 在开启一个 go 项目时都要考虑的事情 • Go 项目布局 • 代码风格 • 命名惯例 Part3 – 语法基础:声明、类型、语句与控制结构 践行哲学,遵循惯例,认清本质,理解原理 • 一致的变量声明形式0 码力 | 26 页 | 4.55 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 16 现代 CMake 模块化项目管理指南类,一定要打开相应的 cmake 文件看看注释,才能确定他是 古代风格还是现代风格。 • 古代 CMake 的命名规范高度不统一,有的是 ${XXX_LIBRARIES} ,有的又是 $ {XXX_LIBRARY} 非常沙雕,需要看相应 cmake 文件的注释,才能确定具体是怎么命名的 。 • 现代 CMake 就好多了,统一用 包名 :: 组件名 的格式。但是具体的组件名,还是要查看 cmake0 码力 | 56 页 | 6.87 MB | 1 年前3
应用 waPC (rust) 做软件测试工具hostcall capability • Instantiate • Invoke - command with data • Guest 指 wasm • Operation 是我们要在 wasm 里注册 命名 • 以数据的长度,设置 wasm 的 linear memory 的指针 • Guest 可执行任务 • Guest 也可返回请求 host Invoke(ctx,operation,payload)0 码力 | 30 页 | 2.50 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - Zeno 中的现代 C++ 最佳实践 clone 的实现。这里我们用 std::decay_t快速获取了 this 指针所指向的类型,也就是当前所在类的类型 。 • 宏的缺点是他不遵守命名空间的规则,宏的名 字是全局可见的,不符合 C++ 的高大尚封装思 想。 • 宏: IOBJECT_DEFINE_CLONE • 高大尚 C++ 封装: zeno::IObject::clone() 0 码力 | 54 页 | 3.94 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 11 现代 CMake 进阶指南find_package(Qt5 REQUIRED) 出错了 原因: Qt5 具有多个组件,必须指定你需要哪些组件 find_package 生成的伪对象 (imported target) 都按照“包名 :: 组件名”的格式命名。 你可以在 find_package 中通过 COMPONENTS 选项,后面跟随一个列表表示需要用的组件。 测试一下能否找到 Qt 的头文件并编译通过 常见问题:小彭老师, Windows 上找不到0 码力 | 166 页 | 6.54 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 12 从计算机组成原理看 C 语言指针类型的常量, 3.14f 才是 float 类 型的常量。 std::abs 函数:自动根据参数类型判断要使用的重载 • 在 C++ 中可以用 std::abs 替代 abs ,这个 在 std 命名空间中的版本是带有多种重载的。 • 建议别用全局的任何函数( C 语言原始的), 始终带上 std:: 前缀( C++ 改良后的)。 • C++ 甚至还有 std::printf , std::memcpy0 码力 | 128 页 | 2.95 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 15 C++ 系列课:字符与字符串string_view 其实也是 basic_string_view> 的类型别名。 string 源码解析 • 先看 GCC 标准库内部变量的命名规范,观察可以发现: • _M_xyz 表示成员变量 / 函数。 • _S_xyz 表示静态成员变量 / 函数。 • __xyz 表示函数参数。 • _Tp_xyz 表示模板类型参数。 string 0 码力 | 162 页 | 40.20 MB | 1 年前3
共 7 条
- 1













