<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Below_Crusder的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Below_Crusder</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Below_Crusder]]></copyright><item><title><![CDATA[ARMv8 aarch64安装LuaJIT]]></title><link>https://blog.youkuaiyun.com/Below_Crusder/article/details/129376797</link><guid>https://blog.youkuaiyun.com/Below_Crusder/article/details/129376797</guid><author>Below_Crusder</author><pubDate>Tue, 07 Mar 2023 10:17:02 +0800</pubDate><description><![CDATA[ARMv8 aarch64安装LuaJIT]]></description><category></category></item><item><title><![CDATA[ARM 浮点运算]]></title><link>https://blog.youkuaiyun.com/Below_Crusder/article/details/129357958</link><guid>https://blog.youkuaiyun.com/Below_Crusder/article/details/129357958</guid><author>Below_Crusder</author><pubDate>Mon, 06 Mar 2023 11:15:57 +0800</pubDate><description><![CDATA[ARM 浮点运算]]></description><category></category></item><item><title><![CDATA[protobuf的实现原理]]></title><link>https://blog.youkuaiyun.com/Below_Crusder/article/details/113925488</link><guid>https://blog.youkuaiyun.com/Below_Crusder/article/details/113925488</guid><author>Below_Crusder</author><pubDate>Sun, 21 Feb 2021 22:56:08 +0800</pubDate><description><![CDATA[转载自：https://blog.youkuaiyun.com/aa5279aa/article/details/100187104

protobuf的实现原理



一、protobuf的定义模型结构

首先，先看一下protobuf的数据定义结构，下面是一个例子。

option java_package = "com.lxl.servlet.pbmodel";



option java_outer_classname = "DemoRequestProto";



message DemoRe...]]></description><category></category></item><item><title><![CDATA[2021-01-24]]></title><link>https://blog.youkuaiyun.com/Below_Crusder/article/details/113087749</link><guid>https://blog.youkuaiyun.com/Below_Crusder/article/details/113087749</guid><author>Below_Crusder</author><pubDate>Sun, 24 Jan 2021 14:15:43 +0800</pubDate><description><![CDATA[转载自：https://www.cnblogs.com/alinh/p/9636352.html

这篇关于C++多态实现以及原理的文章介绍的很详细，作者写的很好！通俗易通！


C++的多态性用一句话概括就是：在基类的函数前加上virtual关键字，在派生类中重写该函数，运行时将会根据对象的实际类型来调用相应的函数。如果对象类型是派生类，就调用派生类的函数；如果对象类型是基类，就调用基类的函数

 1：用virtual关键字申明的函数叫做虚函数，虚函数肯定是类的成员函数。 

 2：存在虚函数的类...]]></description><category></category></item><item><title><![CDATA[centos6.5 安装 protobuf及grpc-c++]]></title><link>https://blog.youkuaiyun.com/Below_Crusder/article/details/104019519</link><guid>https://blog.youkuaiyun.com/Below_Crusder/article/details/104019519</guid><author>Below_Crusder</author><pubDate>Fri, 17 Jan 2020 19:22:11 +0800</pubDate><description><![CDATA[GRPC 安装依赖于 protobuf,zlib,c-ares,zlib,pkg-config, gcc需支持c11, gcc4.8以上均支持c11

我的部署机器系统为centos6.5, gcc为4.9.4.

安装包均在git上下载

grpc：https://codeload.github.com/grpc/grpc/zip/v1.26.0

protobuf：protobuf-3.7.0...]]></description><category></category></item><item><title><![CDATA[c++ 摘要]]></title><link>https://blog.youkuaiyun.com/Below_Crusder/article/details/100575591</link><guid>https://blog.youkuaiyun.com/Below_Crusder/article/details/100575591</guid><author>Below_Crusder</author><pubDate>Fri, 06 Sep 2019 11:07:17 +0800</pubDate><description><![CDATA[1.不要在派生类中改变虚函数的默认参数值

类的指针是动态绑定的，即需要调用哪个作用域的函数需要看程序运行到那个时刻它指向的是什么，本例中pb指向派生类，所以会调用派生类的g函数。

但是函数的参数却是静态绑定的，它不会因为pb指向的类型的改变而改变，换句话说，我们定义pb的时候指定它的类型是Base*，是基类指针，所以函数的默认参数绑定的是基类的默认参数值，不会因为它指向的是派生类而改变。
——...]]></description><category></category></item><item><title><![CDATA[消息队列之ZeroMQ(C++)]]></title><link>https://blog.youkuaiyun.com/Below_Crusder/article/details/80231315</link><guid>https://blog.youkuaiyun.com/Below_Crusder/article/details/80231315</guid><author>Below_Crusder</author><pubDate>Mon, 07 May 2018 20:50:21 +0800</pubDate><description><![CDATA[转载自：https://www.cnblogs.com/ssss429170331/p/5559210.html消息队列之ZeroMQ(C++)　　ZMQ是什么？　　这是个类似于Socket的一系列接口，他跟Socket的区别是：普通 的socket是端到端的（1:1的关系），而ZMQ却是可以N：M 的关系，人们对BSD套接字的了解较多的是点对点的连接，点对点连接需要显式地建立连接、销毁连接、选择...]]></description><category></category></item><item><title><![CDATA[Linux 动态库加载顺序]]></title><link>https://blog.youkuaiyun.com/Below_Crusder/article/details/80190531</link><guid>https://blog.youkuaiyun.com/Below_Crusder/article/details/80190531</guid><author>Below_Crusder</author><pubDate>Fri, 04 May 2018 10:21:49 +0800</pubDate><description><![CDATA[linux动态链接库的加载顺序:1. 编译时指定的run path2. LD_LIBRARY_PATH 指定的地方3. ldconfig 指定的地方4. /lib5. /usr/lib]]></description><category></category></item><item><title><![CDATA[静态库与动态库的区别（c++）]]></title><link>https://blog.youkuaiyun.com/Below_Crusder/article/details/79541121</link><guid>https://blog.youkuaiyun.com/Below_Crusder/article/details/79541121</guid><author>Below_Crusder</author><pubDate>Tue, 13 Mar 2018 15:30:59 +0800</pubDate><description><![CDATA[静态库与动态库的区别 首先来看什么是库，库(Library)说白了就是一段编译好的二进制代码，加上头文件就可以供别人使用。 什么时候我们会用到库呢？一种情况是某些代码需要给别人使用，但是我们不希望别人看到源码，就需要以库的形式进行封装，只暴露出头文件。另外一种情况是，对于某些不会进行大的改动的代码，我们想减少编译的时间，就可以把它打包成库，因为库是已经编译好的二进制了，编译的时候只需要 Link ...]]></description><category></category></item><item><title><![CDATA[Python学习笔记（dict和set）]]></title><link>https://blog.youkuaiyun.com/Below_Crusder/article/details/79225802</link><guid>https://blog.youkuaiyun.com/Below_Crusder/article/details/79225802</guid><author>Below_Crusder</author><pubDate>Thu, 01 Feb 2018 13:36:08 +0800</pubDate><description><![CDATA[注：学习资料转载来自廖雪峰老师的Python学习笔记

dict

Python内置了字典：dict的支持，dict全称dictionary，在其他语言中也称为map，使用键-值（key-value）存储，具有极快的查找速度。

为什么dict查找速度这么快？因为dict的实现原理和查字典是一样的。假设字典包含了1万个汉字，我们要查某一个字，一个办法是把字典从第一页往后翻，直到找到我们]]></description><category></category></item><item><title><![CDATA[python学习笔记]]></title><link>https://blog.youkuaiyun.com/Below_Crusder/article/details/79201959</link><guid>https://blog.youkuaiyun.com/Below_Crusder/article/details/79201959</guid><author>Below_Crusder</author><pubDate>Wed, 31 Jan 2018 11:23:23 +0800</pubDate><description><![CDATA[注：相关资料来自廖雪峰老师的python学习资料。https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014316724772904521142196b74a3f8abf93d8e97c6ee6000


Python内置的一种数据类型是列表：list。list是一种有序的集]]></description><category></category></item><item><title><![CDATA[Python 学习笔记（字符串和编码）]]></title><link>https://blog.youkuaiyun.com/Below_Crusder/article/details/79196671</link><guid>https://blog.youkuaiyun.com/Below_Crusder/article/details/79196671</guid><author>Below_Crusder</author><pubDate>Tue, 30 Jan 2018 09:28:59 +0800</pubDate><description><![CDATA[注：相关资料来自廖雪峰老师的python教程,只是记录一些个人觉得重要的资料，方便日后回忆。


ASCII编码和Unicode编码的区别：ASCII编码是1个字节，而Unicode编码通常是2个字节。

字母A用ASCII编码是十进制的65，二进制的01000001；

字符0用ASCII编码是十进制的48，二进制的00110000，注意字符'0'和整数0是不同的；

汉字中已]]></description><category></category></item><item><title><![CDATA[cocos2dx系列之回调函数]]></title><link>https://blog.youkuaiyun.com/Below_Crusder/article/details/54290630</link><guid>https://blog.youkuaiyun.com/Below_Crusder/article/details/54290630</guid><author>Below_Crusder</author><pubDate>Mon, 09 Jan 2017 17:05:24 +0800</pubDate><description><![CDATA[>>> 原文链接：http://www.mayflygeek.com/archives/90/ 
 >>> 转载自蜉蝣极客：《cocos2dx系列之回调函数》 


大部分的cocos2dx开发者可能会多多少少的遇到一些cocos2dx的回调问题，
在这里呢，我想具体的来说下cocos2dx中的回调到底是怎么回事，那么我就以我们常用的
回调接口callfuncO_selector来说一]]></description><category></category></item><item><title><![CDATA[5734 ( Acperience )]]></title><link>https://blog.youkuaiyun.com/Below_Crusder/article/details/51998019</link><guid>https://blog.youkuaiyun.com/Below_Crusder/article/details/51998019</guid><author>Below_Crusder</author><pubDate>Fri, 22 Jul 2016 19:58:12 +0800</pubDate><description><![CDATA[Acperience


展开式子, WαB2α2i1nbi22αi1nwibii1nwi2∥W−αB∥​2​​=α​2​​​i=1​∑​n​​b​i​2​​−2α​i=1​∑​n​​w​i​​b​i​​+​i=1​∑​n​​w​i​2​​.

由于bi11b​i​​∈{+1,−1},
 那么i1nbi2n​i=1​∑​n​​b​i​2​​=n,
 显然ci1nwi2c=​i=1​∑]]></description><category></category></item><item><title><![CDATA[5742 ( It's All In The Mind )]]></title><link>https://blog.youkuaiyun.com/Below_Crusder/article/details/51998003</link><guid>https://blog.youkuaiyun.com/Below_Crusder/article/details/51998003</guid><author>Below_Crusder</author><pubDate>Fri, 22 Jul 2016 19:56:36 +0800</pubDate><description><![CDATA[题解：水题， 按照题目所说模拟即可  a[1]和a[2]尽量大 后面尽量小


#include 
#include 
using namespace std;
const int maxn = 1e2 + 10;
int vis[maxn];
int ans[maxn];
int a[maxn], b[maxn];
int gcd(int a, int b)
{
    if(b == 0]]></description><category></category></item><item><title><![CDATA[HDU  5744 ( Keep On Movin )]]></title><link>https://blog.youkuaiyun.com/Below_Crusder/article/details/51997990</link><guid>https://blog.youkuaiyun.com/Below_Crusder/article/details/51997990</guid><author>Below_Crusder</author><pubDate>Fri, 22 Jul 2016 19:54:33 +0800</pubDate><description><![CDATA[题解：水题 把奇数拆分成1和偶数 看偶数能平均给每个1分多少的长度就可以了


#include 
#include 
using namespace std;
const int maxn = 1e5 + 10;
int main()
{
    int t;
    scanf("%d", &t);
    while(t--)
    {
        int n;
        ]]></description><category></category></item><item><title><![CDATA[HDU 5745 ( La Vie en rose )]]></title><link>https://blog.youkuaiyun.com/Below_Crusder/article/details/51997955</link><guid>https://blog.youkuaiyun.com/Below_Crusder/article/details/51997955</guid><author>Below_Crusder</author><pubDate>Fri, 22 Jul 2016 19:48:46 +0800</pubDate><description><![CDATA[1012
题解：官方题解说要dp  效率为O(n * m)  感觉暴力也是O(n * m) 用暴力也就过了


#include 
#include 
using namespace std;
const int maxn = 1e5 + 10;
int ans[maxn];
int main()
{
    int t;
    scanf("%d", &t);
    char ss[]]></description><category></category></item><item><title><![CDATA[2016 多校第一场 hdu 5276((线段树＋暴力打表)|(RMQ + 二分))]]></title><link>https://blog.youkuaiyun.com/Below_Crusder/article/details/51973693</link><guid>https://blog.youkuaiyun.com/Below_Crusder/article/details/51973693</guid><author>Below_Crusder</author><pubDate>Wed, 20 Jul 2016 22:34:48 +0800</pubDate><description><![CDATA[题解：线段树用来区间查询，至于数量统计可以之前暴力打个表，丢在map里查询即可
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
int g[100005<<2], cnt;
int c]]></description><category></category></item><item><title><![CDATA[2016 多校第一场 hdu 5724(博弈－SG函数)]]></title><link>https://blog.youkuaiyun.com/Below_Crusder/article/details/51973498</link><guid>https://blog.youkuaiyun.com/Below_Crusder/article/details/51973498</guid><author>Below_Crusder</author><pubDate>Wed, 20 Jul 2016 22:30:10 +0800</pubDate><description><![CDATA[题解：SG函数打个表，将每行的状态的SG值异或一下  如果最后的值为0 那么就是必败态 反之就是必胜态 对于状态更替 利用状态压缩即可#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
in]]></description><category></category></item><item><title><![CDATA[2016 多校第一场 hdu 5723(最小生成树＋dfs)]]></title><link>https://blog.youkuaiyun.com/Below_Crusder/article/details/51973136</link><guid>https://blog.youkuaiyun.com/Below_Crusder/article/details/51973136</guid><author>Below_Crusder</author><pubDate>Wed, 20 Jul 2016 22:24:32 +0800</pubDate><description><![CDATA[题解：跑一遍最小生成树，因为每条边长度不同所以跑不出来的答案就只有一种，对于求解任意两点的期望，只要把任意两点的距离累加和再除以总数即可，对于计算累加和，我借鉴了别人的方法，对于每条边，算出它左边有n个点，右边有m个点，那么这条边就会被用到n*m次 ,对所有的边都这么算一遍，答案累加就可以了


#include 
#include 
#include 
#include 
#include]]></description><category></category></item></channel></rss>