<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[bgylde的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/bgylde</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; bgylde]]></copyright><item><title><![CDATA[WebRTC编译以及服务端环境配置]]></title><link>https://blog.youkuaiyun.com/bgylde/article/details/98996924</link><guid>https://blog.youkuaiyun.com/bgylde/article/details/98996924</guid><author>bgylde</author><pubDate>Fri, 09 Aug 2019 21:59:53 +0800</pubDate><description><![CDATA[WebRTC编译以及服务端环境配置


鸣谢：https://blog.youkuaiyun.com/xiaoS/article/details/89474037

官方文档: https://webrtc.org/native-code/android/

本地环境：ubuntu 16.04 虚拟机，服务器为局域网ubuntu机器，目前浏览器端还存在问题


一、编译环境

1. 搭建上网环境

a. 采用...]]></description><category></category></item><item><title><![CDATA[chromium-cronet库的编译用于Android和ios平台实现quic协议]]></title><link>https://blog.youkuaiyun.com/bgylde/article/details/88825623</link><guid>https://blog.youkuaiyun.com/bgylde/article/details/88825623</guid><author>bgylde</author><pubDate>Tue, 26 Mar 2019 17:34:48 +0800</pubDate><description><![CDATA[chromium-cronet文档原文文档写的已经很清楚，最好还是参考官方文档，避免由于版本原因导致的问题。

Cronet开发者文档：https://developer.android.com/guide/topics/connectivity/cronet

博客中的git地址：https://github.com/bgylde/chromium-cornet


环境配置

chr...]]></description><category></category></item><item><title><![CDATA[Android平台实现ping功能方案----避过ping数据构建需要root权限的限制]]></title><link>https://blog.youkuaiyun.com/bgylde/article/details/88709085</link><guid>https://blog.youkuaiyun.com/bgylde/article/details/88709085</guid><author>bgylde</author><pubDate>Thu, 21 Mar 2019 10:48:54 +0800</pubDate><description><![CDATA[PingForAndroid


C库采用SOCK_DGRAM方式构建icmp包，避开raw socket必须root权限的限制，实现ping功能。

Github: https://github.com/bgylde/PingForAndroid


ping实现方式

1. 通常实现方式

这种方式是直接创建网络层的socket，可以自己构建ip包，也可以委托系统填充。好处是返回的数据包也包...]]></description><category></category></item><item><title><![CDATA[Android平台TCP网络转发实现方案（redsocks+iptables+socks5）]]></title><link>https://blog.youkuaiyun.com/bgylde/article/details/88254402</link><guid>https://blog.youkuaiyun.com/bgylde/article/details/88254402</guid><author>bgylde</author><pubDate>Wed, 06 Mar 2019 20:43:32 +0800</pubDate><description><![CDATA[android平台redSocks+ipTable+socks5实现tcp的转发

要求android系统有root权限，可以执行程序，修改iptable。参考url：


https://blog.youkuaiyun.com/yeshennet/article/details/79397651


一、redsocks编译

1. libevent编译


redsocks依赖于libevnet，需要首先...]]></description><category></category></item><item><title><![CDATA[android平台源码编译，播放yuv的视频]]></title><link>https://blog.youkuaiyun.com/bgylde/article/details/78863525</link><guid>https://blog.youkuaiyun.com/bgylde/article/details/78863525</guid><author>bgylde</author><pubDate>Thu, 21 Dec 2017 14:32:05 +0800</pubDate><description><![CDATA[参考文章：http://blog.youkuaiyun.com/wangchenggggdn/article/details/8896453
GLUtil.h:
#include 

#include 

#include 
#include 

#include 
#include 
#include 

#include 
#include 
#include 
#include 
#include ]]></description><category></category></item><item><title><![CDATA[android平台采用ffmepg生成MP4文件的截图]]></title><link>https://blog.youkuaiyun.com/bgylde/article/details/78863404</link><guid>https://blog.youkuaiyun.com/bgylde/article/details/78863404</guid><author>bgylde</author><pubDate>Thu, 21 Dec 2017 14:24:05 +0800</pubDate><description><![CDATA[1. 编译ffmepg的库文件：

 ./configure --prefix=/home/linux/study/03.ffmpeg/arm-reduce-out --enable-static --disable-shared --enable-pthreads --enable-cross-compile 
--cross-prefix=arm-linux-androideabi- --]]></description><category></category></item><item><title><![CDATA[arm平台编译adb]]></title><link>https://blog.youkuaiyun.com/bgylde/article/details/78712199</link><guid>https://blog.youkuaiyun.com/bgylde/article/details/78712199</guid><author>bgylde</author><pubDate>Mon, 04 Dec 2017 18:20:18 +0800</pubDate><description><![CDATA[参考github：https://github.com/bonnyfone/adb-arm
        本来的目的是在arm平台编译以后能够使用adb shell获取shell权限，然后就可以避开其他权限无法执行su的问题。
最开始，先修改了android源码中的su.c，将root和shell权限验证部分注释掉，编译出来还是不行，在setgid和setuid的时候会产生错误，这个错误折腾]]></description><category></category></item><item><title><![CDATA[android native 使用opengl es画点线面图形（纯c++）]]></title><link>https://blog.youkuaiyun.com/bgylde/article/details/74529545</link><guid>https://blog.youkuaiyun.com/bgylde/article/details/74529545</guid><author>bgylde</author><pubDate>Thu, 06 Jul 2017 12:31:52 +0800</pubDate><description><![CDATA[一、首先需要对EGL进行初始化：
void Renderer::initEGL()
{
    const EGLint attribs[] =
    { EGL_SURFACE_TYPE, EGL_WINDOW_BIT, EGL_BLUE_SIZE, 8, EGL_GREEN_SIZE, 8,
            EGL_RED_SIZE, 8, EGL_ALPHA_SIZE, 8, E]]></description><category></category></item><item><title><![CDATA[关于chmod -R 777 /的修复]]></title><link>https://blog.youkuaiyun.com/bgylde/article/details/54600810</link><guid>https://blog.youkuaiyun.com/bgylde/article/details/54600810</guid><author>bgylde</author><pubDate>Wed, 18 Jan 2017 14:49:47 +0800</pubDate><description><![CDATA[chmod -R 777 /系统修复]]></description><category></category></item><item><title><![CDATA[linux下CS模型]]></title><link>https://blog.youkuaiyun.com/bgylde/article/details/53996657</link><guid>https://blog.youkuaiyun.com/bgylde/article/details/53996657</guid><author>bgylde</author><pubDate>Tue, 03 Jan 2017 18:03:42 +0800</pubDate><description><![CDATA[这个只是单对单的CS模型，可以在这个的基础上添加所需要的功能。]]></description><category></category></item><item><title><![CDATA[Andoroid下检测DNS错误]]></title><link>https://blog.youkuaiyun.com/bgylde/article/details/53941213</link><guid>https://blog.youkuaiyun.com/bgylde/article/details/53941213</guid><author>bgylde</author><pubDate>Fri, 30 Dec 2016 13:42:06 +0800</pubDate><description><![CDATA[Android下检测dns错误]]></description><category></category></item><item><title><![CDATA[linux（Android）下搭建dnsmasq服务器]]></title><link>https://blog.youkuaiyun.com/bgylde/article/details/53931843</link><guid>https://blog.youkuaiyun.com/bgylde/article/details/53931843</guid><author>bgylde</author><pubDate>Thu, 29 Dec 2016 21:10:32 +0800</pubDate><description><![CDATA[dnsmasq服务在linux环境下的搭建]]></description><category></category></item><item><title><![CDATA[Linux-C下C/S架构实例,实现文件传输功能]]></title><link>https://blog.youkuaiyun.com/bgylde/article/details/53096739</link><guid>https://blog.youkuaiyun.com/bgylde/article/details/53096739</guid><author>bgylde</author><pubDate>Wed, 09 Nov 2016 10:25:21 +0800</pubDate><description><![CDATA[多线程的server以及client，支持多个客户端的访问，支持客户端从服务器下载文件]]></description><category></category></item><item><title><![CDATA[linux-C下的死锁检测（pthread_mutex_）]]></title><link>https://blog.youkuaiyun.com/bgylde/article/details/53096435</link><guid>https://blog.youkuaiyun.com/bgylde/article/details/53096435</guid><author>bgylde</author><pubDate>Wed, 09 Nov 2016 09:59:22 +0800</pubDate><description><![CDATA[多线程死锁问题比较麻烦，因为工作需要自己写了一个检测程序，实现原理比较简单~~]]></description><category></category></item><item><title><![CDATA[火车进站]]></title><link>https://blog.youkuaiyun.com/bgylde/article/details/48197053</link><guid>https://blog.youkuaiyun.com/bgylde/article/details/48197053</guid><author>bgylde</author><pubDate>Thu, 03 Sep 2015 19:49:28 +0800</pubDate><description><![CDATA[描述

给定一个正整数N代表火车数量，0




知识点

栈



运行时间限制

0M



内存限制

0



输入


有多组测试用例，每一组第一行输入一个正整数N（0





输出


输出以字典序排序的火车出站序列号，每个编号以空格隔开，每个输出序列换行，具体见sample。





样例输入]]></description><category></category></item><item><title><![CDATA[迷宫问题]]></title><link>https://blog.youkuaiyun.com/bgylde/article/details/48166847</link><guid>https://blog.youkuaiyun.com/bgylde/article/details/48166847</guid><author>bgylde</author><pubDate>Tue, 01 Sep 2015 23:29:55 +0800</pubDate><description><![CDATA[输入为：
6 10
0 1 1 1 1 1 1 1 1 1
0 1 0 0 1 0 0 0 0 1
0 0 0 1 1 0 1 0 0 1
0 1 1 0 0 0 1 1 0 1
0 0 0 0 0 0 0 0 0 1
1 1 1 1 1 1 1 1 0 0
或
5 5
0 0 0 0 0
1 1 1 0 1
0 0 0 0 0
0 1 0 1 1
1 0 0 0 0]]></description><category></category></item><item><title><![CDATA[01背包问题（动态规划）]]></title><link>https://blog.youkuaiyun.com/bgylde/article/details/48161597</link><guid>https://blog.youkuaiyun.com/bgylde/article/details/48161597</guid><author>bgylde</author><pubDate>Tue, 01 Sep 2015 18:35:43 +0800</pubDate><description><![CDATA[01背包问题：
如果有n个物品，它们的重量分别为，价值分别为，现有一个负重量为knapLoad的背包，要求选择物品装入背包，使得装入背包中物品的总价值最大。
解决算法：
设置一个二维数组maxValue[i][j]，i的最大值是物品的数量，j的最大值是knapLoad。maxValue[i][j]的值代表物品i以及以后的物品装入最大负重为j的背包中的总价值。
下面举一个例子就容易看懂了：]]></description><category></category></item><item><title><![CDATA[重建二叉树]]></title><link>https://blog.youkuaiyun.com/bgylde/article/details/47741099</link><guid>https://blog.youkuaiyun.com/bgylde/article/details/47741099</guid><author>bgylde</author><pubDate>Tue, 18 Aug 2015 01:42:55 +0800</pubDate><description><![CDATA[题目
如果已知二叉树前序遍历为：1 2 4 7 3 5 6 8，中序遍历为：4 7 2 1 5 3 8 6，求此二叉树的后序遍历。
import java.util.ArrayList;
import java.util.Scanner;

public class Main
{
	public static void main(String[] args)
	{
		Scanner sca ]]></description><category></category></item><item><title><![CDATA[查找输入整数二进制中1的个数]]></title><link>https://blog.youkuaiyun.com/bgylde/article/details/47712049</link><guid>https://blog.youkuaiyun.com/bgylde/article/details/47712049</guid><author>bgylde</author><pubDate>Mon, 17 Aug 2015 00:59:28 +0800</pubDate><description><![CDATA[描述

请实现如下接口    public static int findNumberOf1(intnum)    {        /* 请实现 */        return 0;    }譬如：输入5 ，5的二进制为101，输出2 涉及知识点：位运算




知识点

位运算



运行时间限制

10M



内存限制

128



输]]></description><category></category></item><item><title><![CDATA[放苹果]]></title><link>https://blog.youkuaiyun.com/bgylde/article/details/47711417</link><guid>https://blog.youkuaiyun.com/bgylde/article/details/47711417</guid><author>bgylde</author><pubDate>Mon, 17 Aug 2015 00:35:54 +0800</pubDate><description><![CDATA[描述

题目描述把M个同样的苹果放在N个同样的盘子里，允许有的盘子空着不放，问共有多少种不同的分法？（用K表示）5，1，1和1，5，1 是同一种分法。 输入每个用例包含二个整数M和N。0 样例输入7 3 样例输出8    /**     * 计算放苹果方法数目     * 输入值非法时返回-1     * 1      * @param m 苹果数目     * @param n 盘子数目数]]></description><category></category></item></channel></rss>