程序员的自我修养
RGBMarco
时间能证明一切,如果不能帮助到别人,那就记录自己!
展开
-
utf-8码点转unicode编码
utf-8是unicode实现的一种方案,简单来说unicode规定了编码的字的数值,采用一一对应的方式使得所有文字都能找到对应的编码值,而utf-8引入了码点的概念,使得码点能够组合成对应的编码值,从而找到对应的文字,通过码点的范围,有组织的得到编码值查看文字utf-8码点 unicode编码值一般实现中都把21位码点位数及以上的编码值通过多个码元组合得到,这里直接使用uint32_...原创 2018-07-09 21:22:53 · 1334 阅读 · 0 评论 -
boost.Asio Example定时器的思考---结果阻碍了我们对本质的思考
boost.Asio官网给的教程很多关于定时器的例子,现在我就来研究下这几个例子Example 1://// timer.cpp// ~~~~~~~~~//// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)//// Distributed under the Boost S...原创 2018-07-11 18:41:38 · 944 阅读 · 0 评论 -
内存对齐的原则
1.结构体的第一个元素地址必须是0x…..0(是受内存对齐这个影响产生的结果) 2.结构体成员地址是通过对齐规则和自身大小共同影响的,规则如下: 如果设定对齐方式为n个字节对齐,而某结构体成员大小为m,那么该结构体成员的地址必须为min(n,m)的整数倍,比如double在64位平台是8字节,指定对齐方式为1个字节对齐,则地址随意,若为2个字节对齐,则地址只能是0 2 4 8 3.通过以上方...原创 2018-07-14 12:45:27 · 1129 阅读 · 0 评论 -
C与ASM汇编实践
在c里嵌入汇编玩玩,实现方式也多种多样,细究也会发现效率也千变万化,gcc不同的优化程度也的确很赞,省了好多汇编代码,下面用c和asm汇编实现一个两个无符号64位数的除法,来熟悉下操作,下面上代码!#include <stdio.h>#include <stdlib.h>/* * x in %rdi y in %rsi qp in %rdx rp in %rc...原创 2018-08-19 19:47:52 · 1364 阅读 · 0 评论