摘要:
三角形 在recastnavigation中,三角形是最基础的元素,很多逻辑都是基于三角形进行的,其中比较常见的一个操作就是计算指定点到某三角形上的最近距离。由于三角形通常代表行走面,而给定点P可能是场景中的任意位置,所以这个操作通常会用来计算可行走面的最近距离。 recastnavigation的 阅读全文
使用emplace_back的new initializer expression list treated as compound expression提示看聚合初始化和parameter pack
摘要:
测试代码 使用emplace_back可以避免不必要的构造和拷贝,而是直接在向量的内存位置执行construct进行构造,代码看起来也更加简洁。 但是在使用的时候,会发现有一些和直观不太对应的情况。例如,在下面的例子中,使用new的时候,只有花括号可以通过编译,而同样的emplace_back就不行 阅读全文
摘要:
遍历 hash表是一种比较简单和直观的数据结构,在查找时也有很好的性能。但是hash表不能提供有序遍历,这个是其特性决定,所以不足为奇。但是,更为实际的一个问题是如果遍历整个hash表中的所有元素? 直观上讲,可以遍历一个hash的所有桶(bucket),但是这样明显效率偏低,特别是如果hash表为 阅读全文
摘要:
历史展开(history expand) 历史展开是bash交互式操作时的一个重要展开方式,这种展开相对于bash的变量展开。 它的整体逻辑是首先是找到历史上的特定行(通常是前一行,这个也是缺省的操作行),然后从中提取特定行(例如第2个参数),或者执行特定操作(例如替换)。 历史事件(history 阅读全文
摘要:
一、问题 当gcc的优化打开前后的效果不同时,可以通过gcc的-Q --help=optimizers查看在构建时gcc默认开启了哪些选项 tsecer@harry: gcc -Q --help=optimizers -O1 tsecer.cpp | more 下列选项控制优化: -O -Ofast 阅读全文
摘要:
引入 vim内置命令中包含了text object相关功能,这些功能可以在vim的 :h motion.txt 帮助文档中找到相关帮助。这个功能看起来实现比较简单,而且是一个非常实用的功能。这个功能之所以加入比较晚,在于它使用a和i并不是传统的motion动作,而是normal模式下的插入(inse 阅读全文
摘要:
一、pretty printer 即使在有调试器的情况下,打印(print)信息也是定位问题的重要和有效手段,所以一些变量的打印就非常重要,例如C++中流行的libfmt库,gcc扩展的"PRETTY_FUNCTION "宏变量。gdb作为调试程序的主要通用工具,也包含了对类型的pretty-pri 阅读全文
摘要:
内联函数的原始定义 gcc\config\i386\i386-builtin.def /* LZCNT */ BDESC (OPTION_MASK_ISA_LZCNT, CODE_FOR_lzcnt_hi, "__builtin_ia32_lzcnt_u16", IX86_BUILTIN_LZCNT 阅读全文
摘要:
一、gnu的解决方案 从网上的资料可以看到,gnu对于本地化的支持是基于gettext套件完成。通过xgettext工具扫描代码中出现的字符串,生成po(Portable Object)文件。在代码中再通过特定的函数来读取并对字符串进行本地化。 二、xgettext的实现 1、keyword 从代码 阅读全文
摘要:
一、free命令的man手册说明 从这个描述可以看到,free命令的数据源主要是从/proc/meminfo文件读取 DESCRIPTION free displays the total amount of free and used physical and swap memory in the 阅读全文