自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 资源 (55)
  • 问答 (1)
  • 收藏
  • 关注

原创 C++实现简单的string dictionary

C++实现简单的key value字典,可以用来代替std::map

2024-03-23 14:25:39 187

原创 C++实现简单的string array

C++实现简单的String Array

2024-03-23 14:12:36 190

原创 C++实现简单的string

C++实现简单的字符串类

2024-03-23 12:17:07 203

原创 多线程读写文件问题

C++多线程文件操作

2024-02-03 18:08:43 354

原创 matplotlib实现动画效果

matplotlib实现动画效果

2024-01-28 14:54:02 393

原创 PyTorch官网demo解读——第一个神经网络(4)

分析手写数字识别神经网络模型的激活函数

2024-01-01 21:53:27 1274 2

原创 PyTorch官网demo解读——第一个神经网络(3)

深度学习损失函数与梯度下降算法

2023-12-24 15:48:10 1568

原创 PyTorch官网demo解读——第一个神经网络(2)

PyTorch官网demo解读,第一个神经网络之模型解读

2023-12-17 13:49:50 593

原创 PyTorch官网demo解读——第一个神经网络(1)

神经网络如此神奇,feel the magic今天分享一下学习PyTorch官网demo的心得,原来实现一个神经网络可以如此简单/简洁/高效,同时也感慨PyTorch如此强大。

2023-12-16 15:52:50 861

原创 python进度条

python进度条

2023-12-16 14:00:11 377

原创 一个简单的mp4播放器

使用ffmpeg实现一个简单的mp4播放器

2023-05-13 12:20:26 1103

原创 Android double-close测试

背景在linux系统调用close()函数关闭一个文件描述符可能失败,细心谨慎的程序员可能会检测返回值,如果返回失败再做重试,但这就可能导致了double-close问题。查看close()函数的man手册:Retrying the close() after a failure return is the wrong thing to do, since this may cause a reused file descriptor from another thread to

2022-05-28 15:52:41 284

原创 裸调linux write()接口

背景我们知道linux提供了很多系统调用给应用程序使用,但linux并没有将这些系统调用封装成C语言接口,而是提供一个软中断,然后应用程序需要通过软中断带上系统调用编号和参数去调用接口,这对于应用程序相当的不友好。这时候libc库便登上了历史舞台,它将这些系统调用封装成一个个函数,形象生动地提供给应用程序使用,从此之后,应用程序只需要调用那些write(), read(), exit()等便能达到目的,而不是通过软中断去使用这些接口。。然后,当我们熟悉了这些符号接口的时候,却不知道背后是怎么工作

2022-05-01 10:42:15 1768

原创 C语言单井号#使用

C语言中#用于宏定义中,将符号变成对应的字符串,在编译阶段就完成了转换工作#include <stdio.h>#define printInt(x) printf("%s=%d\n", #x, x)void main(){ int age = 100; printInt(age);}上面的代码运行结果是:age=100...

2022-04-02 15:57:12 681

原创 C++ 11 shared_ptr 自定义析构函数

#include <iostream>#include <memory>void main(){ std::shared_ptr<int> ptr(new int(100), [](int* pInt){ std::cout << "destruct interger " << *pInt << std::endl; delete pInt;});}运行结果:

2022-03-23 18:19:48 2206

原创 COM的INTERFACE使用实践

INTERFACE用于声明库的接口,下面我们将实现一个简易的数学库来实践一下。我们首先声明一个接口类IMath,该类继承自IUnknown;IMath有两个方法供外部调用,分别为add和sub#undef INTERFACE#define INTERFACE IMathDECLARE_INTERFACE_(IMath, IUnknown) { STDMETHOD_(int, add)(THIS_ const int x, const int y) PURE; STDMETHOD_(i

2022-02-09 16:46:40 1234

原创 C++读锁重入导致死锁

读锁重入导致死锁

2022-01-12 14:26:23 1617

原创 UDP使用connect()和send()函数

UDP socket使用connect()函数连接服务器地址后,可直接调用send()函数发送数据,而不必像sendto()函数那样每次都要指定服务器地址,据说这样可以提高效率。来写两个小程序玩玩:client.cpp#include <stdio.h>#include <string.h>#include <unistd.h>#include <sys/socket.h>#include <arpa/inet.h>#inc

2022-01-06 11:08:22 2660 2

原创 图形渲染学习

推荐一个opengl的学习教程:简介 - LearnOpenGL CN推荐一个矩阵的学习教程:麻省理工公开课:线性代数-网易公开课好的东西要拿出来分享 :=),也为原作者做个宣传,哈哈!希望学完可以写个游戏愉悦自己 ~~...

2021-12-31 18:36:47 162

原创 C++运算符重载

#include <iostream>#include <algorithm>using namespace std;class OOT{public: explicit OOT(int v) : m(v) { } int value() const { return m; }public: inline bool operator > (const OOT& x) const { return m > x.m;.

2021-12-08 18:14:07 505

原创 C语言##连接符使用

## 用于连接名称,函数名、变量名等#include <iostream>using namespace std;char name_a[20] = "aaa";char name_b[20] = "bbb";char name_c[20] = "ccc";char name_d[20] = "ddd";/** * 方式一:展开成对应的变量,直接打印 */#define PRINT(n) {cout << name_##n << endl;}

2021-11-12 15:56:40 3184

原创 程序结束不会自动调用堆对象的析构函数

使用new申请的对象,如果不主动delete掉,在程序运行结束的时候系统释放会调用对象的析构函数呢?我们写个小程序试试#include <iostream>#include <string>class A{public: A(std::string method); ~A(); private: std::string m_method;};A::A(std::string method){ m_method = method; st

2021-08-04 19:45:35 1297

原创 TCP SO_SNDBUF

最近做了个tcp测速工具,在部分机器上测速结果很小,只有其它机器的十分之一,折腾了一整天,最后发现是那些机器的发送缓冲区太小了。调整发送缓冲区大小:

2021-05-15 09:46:04 731

转载 200行代码实现推流到直播平台

原文:https://blog.csdn.net/leixiaohua1020/article/details/42104945看了雷神的文章后,尝试自己实现推流到YY直播。主要做了两点改进:1、支持直播码2、严格按flv文件中的时间戳推流,解决拉流观看视频卡顿问题前提:1、依赖librtmp库,需要自己下载源码编译(网上很多资料),我使用mac已经自带了librtmp库,省去了编译环节2、注册YY账号,到“个人中心”-> “开播设置”中获取推流地址和直播码,如下图

2021-03-14 16:58:11 643

原创 Failed to notify project evaluation listener

升级android studio到3.5.2后,项目build报错Failed to notify project evaluation listener. 折腾了好久没有解决;打开Event Log提示:NDK Resolution Outcome: Project settings: Gradle model version=4.6, NDK version is UNKNOWN打开local.properties,指定ndk路径:ndk.dir=/Users/fang/Librar

2020-05-30 16:41:38 4260

原创 打印errno错误描述小程序

#include <stdio.h>#include <stdlib.h>#include <string.h>int main(int argc, char* argv[]){ if (argc != 2) { printf("invalid argument. eg: ./errno 1\n"); } int e = at...

2020-04-05 19:19:58 692

原创 pthread_cancel pthread_testcancel测试

pthread_cancel用于取消一个线程,但被取消的线程要有取消点,才能被取消。pthread_testcancel用于设置取消点/** * Created by fangruibin * 测试取消线程操作 */#include <stdio.h>#include <pthread.h>#include <unistd.h>...

2019-12-31 17:14:13 1713 1

原创 pthread可重入锁

可重入锁是指同个线程可多次申请同把锁,而不会导致死锁,只要在初始化的时候设置锁的属性为PTHREAD_MUTEX_RECURSIVE,即可达到目的/** * Created by fangruibin * 测试死锁产生的场景 */#include <iostream>#include <pthread.h>#include <unistd.h&gt...

2019-12-31 16:15:21 1921

原创 vscode C++关闭代码声明提示

把鼠标放在函数、变量等上面,会自动弹出提示,但挡住视线,有点不习惯。打开file->preferences->settings,编辑settings.json,增加"editor.hover.enabled": false...

2019-12-13 14:59:38 1256

原创 Unable to instantiate appComponentFactory

Android调试app跑起来就崩溃,一直提示Unable to instantiate appComponentFactory2019-12-12 19:37:11.983 4040-4040/fang.com.xxx E/LoadedApk: Unable to instantiate appComponentFactory java.lang.ClassNotFoundExce...

2019-12-12 19:44:33 18311 9

转载 函数中对没用到的参数使用(void)var

原文地址:https://stackoverflow.com/questions/21045615/what-does-voidvar-actually-do弄清楚C++中的一些细节,确实很有意思,值得回味。在C++中会看到一些函数参数没有用到,但是又不能去掉(例如继承下来的虚函数,暂时不想实现),这时候就可以在实现中(void)var,不然编译器会告警。例如:int main(...

2019-07-06 23:27:36 1903

原创 C++模拟产生死锁

产生死锁的条件是需要两把锁,两个线程各自持有其中的一把,在没有释放的前提下申请另一把。模拟代码如下:/** * Created by fangruibin * 测试死锁产生的场景 */#include <iostream>#include <pthread.h>#include <unistd.h>//定义两把锁pthread_mu...

2019-05-06 18:51:08 848

原创 queue.front()返回空元素

今天发现一个有意思的现象,当queue的元素全部pop出来了,queue.size() == 0,此时执行queue.front()不会出错,而是会返回一个空的元素。测试代码:#include <iostream>#include <queue>struct TestItem{ int a; int b; std::string c;};int...

2019-04-29 11:37:29 8458 2

转载 AES加密

加密解密可以正常使用,但是貌似存在一个内存泄漏问题,我移植到windows的版本解决了这个问题,但是代码已经找不到了。请自行分析解决头文件:#ifndef _AES_H_#define _AES_H_#define byte unsigned charclass Aes // Advanced Encryption Standard{ public: ~Aes...

2019-04-21 19:37:11 201

转载 svn仓库迁移到git仓库

1. 安装git,安装svn命令行工具(安装svn时勾选选项),并安装git bash, 打开git bash2. svn log -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2" = "$2" <"$2">"}' | sort -u > users.txt 这个时候,应该在我...

2019-03-29 11:37:11 539

原创 C++ 整数转字符串

#include <sstream>std::ostringstream ostr;ostr << 100;std::string str = ostr.str();

2019-03-21 18:39:51 912

转载 JNIEnv和Dalvik的JavaVM的关系

(1)JNIEnv*内部包含一个Pointer,Pointer指向Dalvik的Java VM对象的Function Table,JNIEnv*关于程序执行环境的众多函数正是来源于Dalvik虚拟机;(2)Android中每当一个Java线程第一次要调用本地C/C++代码时,Dalvik虚拟机实例会为该Java线程产生一个JNIEnv*指针;(3)Java每条线程在和C/C++相互调用时,JN...

2019-03-17 21:49:56 195

原创 C++ 同类对象之间 = 赋值

#include &lt;iostream&gt;struct MySt{ int a; int b; MySt() { a = 0; b = 0; } void print() { std::cout &lt;&lt; "a=" &lt;&lt; a &lt;&lt; std::endl &lt;&lt; "b=" &lt;&lt; b

2019-03-13 17:48:12 2218

原创 C++ c_str()和data()函数的区别

c_str()会在数据的末尾添加'\0'结束符,多数用于使用字符串场合;data()函数不会添加'\0'结束符

2019-03-09 11:39:00 4542

原创 C++中的 ->* 和 .* 操作符

//we have a classstruct X{ void f() {} void g() {}};typedef void (X::*pointer)();//ok, let's take a pointer and assign f to it.pointer somePointer = &amp;X::f;//now I want to call someP...

2019-02-26 20:41:52 4062

circle.zip

Windows移动鼠标小程序

2019-12-23

VPPlusTest.rar

FFMPEG 实时解码RTP网络流,仅为测试程序,代码逻辑和业务相关性比较大,不便于阅读,请见谅。 FFMPEG 实时解码RTP网络流,仅为测试程序,代码逻辑和业务相关性比较大,不便于阅读,请见谅。

2019-11-16

WindowsMediaPlayer9.0 sdk

WindowsMediaPlayer9.0 sdk WindowsMediaPlayer9.0 sdk WindowsMediaPlayer9.0 sdk

2017-11-28

C++实现HTTP请求

C++实现HTTP POST GET请求

2017-08-21

openssl RSA加密解密

使用openssl 进行RSA加密解密,测试程序。

2017-06-15

基于TCP传输的H264流解码和播放

基于TCP传输的H264流解码和播放

2017-06-15

C++ 标准库文档

C++ 标准库文档

2017-05-16

环形队列实现

实现环形队列 原文:http://blog.csdn.net/billow_zhang/article/details/4420789

2017-04-25

写varbitmapfont文件

MiniGui代码中内置了3种varbitmapfont字体,但是是直接集成在代码中,此程序把代码中的点阵写入到.vbf文件中。

2016-06-09

mongoose server

mongoose source code and samples

2016-01-04

sip注册例子

eXosip简单的sip注册例子,比eXosip提供的例子简单一些;VS2008编译通过。

2015-09-06

pktbuilder

发包工具,可以发任何形式的网络包,编辑网络包也很方便。支持发送wireshark数据包,需要将wireshark数据包保存成Microsoft NetMon 2.x(*.cap)格式。

2015-09-06

ZRTP加密库

ZRTP库,VoIP加密技术。C++编写 原链接:https://github.com/wernerd/ZRTPCPP

2015-03-28

xz-4.999.9beta.tar.bz2

xz-4.999.9beta.tar.bz2 linux下解压.xz文件的工具

2014-11-22

ipsec-tools-0.8.2.tar.bz2

ipsec-tools 源代码,保存一份,不时之需。

2014-11-18

MySQL-server.5.0.95

MySQL-server-community-5.0.95-1.rhel5.i386.rpm

2013-09-01

Mysql 5.0.95.zip

MySQL-client-community-5.0.95-1.rhel5.i386.rpm MySQL-devel-community-5.0.95-1.rhel5.i386.rpm MySQL-shared-community-5.0.95-1.rhel5.i386.rpm

2013-09-01

tinyxml_2_6_2.zip

tinyxml 开源xml解析库,轻巧使用,效率高,C++独立平台

2013-08-15

libxml2-2.7.6.tar.gz

libxml2-2.7.6.tar.gz

2013-08-14

php-5.2.12.tar.gz

php-5.2.12.tar.gz

2013-08-14

mysql-5.1.60.tar.gz

mysql-5.1.60.tar.gz

2013-08-14

jpegsrc.v7.tar.gz

jpegsrc.v7.tar.gz

2013-08-14

httpd-2.4.1.tar.zip

httpd-2.4.1.tar.zip

2013-08-14

freetype-2.3.11.tar.gz

freetype-2.3.11.tar.gz

2013-08-14

curl-7.15.0.tar.gz

curl-7.15.0.tar.gz

2013-08-14

可编辑的列表视图

可编辑的列表视图,项目开发拿来即用,收藏起来!

2013-08-04

可编辑list控件封装类

可编辑list控件封装类,项目开发时拿来即可用,收藏作品

2013-08-04

windows核心编程

windowns 核心编程,chm电子书模式,可方便查阅,占用空间小,无需下载第三方软件,值得收藏

2013-08-04

Visual C++ 6.0 数据库编程大全

Visual C++ 6.0 数据库编程大全

2013-08-03

C语言笔试题目

C语言笔试题目,很不错的笔试题,面试前看一看

2013-08-03

S3C2440触摸屏驱动开发

基于友善之臂arm9 mini2440开发,裸机驱动代码,ads1.2下调试通过,在触摸的位置画圆。

2013-05-30

金山软件开源代码

金山软件开源代码

2013-05-30

DirectX 8.0 SDK

DirectX 8.0 SDK

2013-05-30

中国象棋对弈

中国象棋开发,VC++ 6.0 SDK开发。包括人机对弈和联机对弈两个模块。超漂亮界面哦!

2012-10-22

linux0.11内核源代码

linux0.11内核源代码 linux0.11内核源代码 linux0.11内核源代码

2011-10-11

UNIX环境高级编程

UNIX环境高级编程 UNIX/linux环境编程的必备书籍

2011-10-11

Linux内核0.11(0.95)完全注释

Linux内核0.11(0.95)完全注释 Linux内核0.11(0.95)完全注释 Linux内核0.11(0.95)完全注释 Linux内核0.11(0.95)完全注释

2011-10-11

PC游戏编程(人机博弈)

PC游戏编程(人机博弈) 王小春编著 重庆大学出版社 包含代码和电子书

2011-10-11

CPU内存参数监控程序

CPU内存参数监控程序,课程设计,有课程设计报告

2011-07-14

民航订票系统 使用MFC开发

民航订票系统 使用MFC开发 access数据库 ODBC数据源

2010-11-04

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除