自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(464)
  • 资源 (98)
  • 问答 (3)
  • 收藏
  • 关注

原创 QT 自定义Http客户端

1.Http客户端功能1.支持get,post请求方式.2.支持连接超时处理.3.支持网络错误,尝试重连.2.源码HttpClient.h//HttpClient.h#ifndef HTTPCLIENT_H#define HTTPCLIENT_H#include <QObject>#include <QNetworkAccessManager>#include <QNetworkReply>#include <QEv.

2020-09-23 10:08:53 2114 2

原创 搭建海思3559A-Qt4.8.7+Openssl开发环境

1.软件版本linux版本:ubuntu 16.04 LTSQt:4.8.7Openssl:1.0.1q2.安装交叉编译器①在ubuntu上解压 tar -zxf aarch64-himix100-linux.tgz②进入解压后的文件夹中,增加执行权限sudo chmod +xaarch64-himix100-linux.install③执行 ./aarch64-himix100-linux.install④执行source /etc/profile, 安装交叉编译..

2020-06-23 15:38:46 2784 1

原创 搭建QT+ffmpeg+Visual Studio开发环境

1.环境介绍本文使用的是版本 Qt5.9.2+VS2017+ffmpeg4.2.1,这里版本均使用32位版本2.Qt版本下载http://download.qt.io/archive/qt/3.下载ffmpeg打开https://ffmpeg.zeranoe.com/builds/,该网站中的FFMPEG分为3个版本:Static,Shared,Dev,都下载下来。...

2019-12-10 20:53:45 1297

原创 音视频开发基础知识

一. 颜色模式1.RGBRGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。①RGB24:RGB24使用24位来表示一个像素,RGB分量都用8位表示,取值范围为0-255。注意在内存中RGB各分量的排列顺序为:BGR BGR BGR…。②RGB32:RGB32使用32位来表示一个像素,RGB分量各用去8位表示,剩下...

2019-12-09 14:06:34 2245

原创 Qt设置QPushButton文字加图片

方法一: ui->pushButton->setIcon(QPixmap("D:/qtTest/untitled/clear.png")); ui->pushButton->setText("清理");方法二: ui->pushButton->setStyleSheet("qproperty-icon: url(D:/qtT...

2019-09-08 20:19:59 11739 3

原创 Qt设置字符串太长,使用省略号显示

widget.h#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#include <QList>namespace Ui {class Widget;}class Widget : public QWidget{ Q_OBJECTpublic: explicit Wid...

2019-09-01 17:51:13 4350

原创 Qt实现QWebSocket客户端,断线重连

WebSocket简介1)、WebSocket是一种在单个TCP连接上进行全双工通信的协议。2)、WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。3)、WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。全双工:通信允许数据在两个方向上同时传输,全双工...

2019-08-27 21:25:27 5670 8

原创 消息库-ZeroMQ介绍

ZeroMQ (也称为 ØMQ, zmq 或 libzmq) 是一个高性能的异步消息传递库,用于构建分布式或并发应用程序。它提供了一个消息队列的抽象,允许不同的计算机和进程之间进行消息传递,而无需关心底层网络细节。ZeroMQ 不是一个传统意义上的消息队列服务器,而是一个嵌入到应用程序中的库,它提供了多种消息传递模式,如请求-应答、发布-订阅、推-拉等。

2024-05-20 21:29:13 792

原创 日志库-zlog介绍

zlog是一个可靠、高性能、线程安全、灵活、模型清晰、纯C的日志库。zlog 特点高性能:zlog 设计为尽量减少日志记录对程序性能的影响。多线程安全:在多线程环境下,zlog 可以安全地记录日志而不会产生冲突。动态配置:可以在不重启程序的情况下,通过配置文件或API动态修改日志行为。支持多种日志级别:如DEBUG、INFO、WARN、ERROR等。可定制格式:可以自定义日志的输出格式。支持异步日志:可以将日志写入异步队列,由另一个线程负责写入文件,减少主线程阻塞。

2024-05-18 21:41:41 416

原创 日志库-Glog介绍

glog 是 Google 的一个 C++ 日志库,它提供了丰富的日志功能,包括条件日志、CHECK 宏等,同时支持日志的自动轮转。项目Valueyyyy年mm月dd日时间threadid线程IDfile文件名line行号msg消息glog 是一个功能丰富的日志库,它提供了一系列的宏和函数来处理日志记录。初始化和关闭: google::InitGoogleLogging(const char* argv[]): 初始化 glog日志系统。通常在 main 函数的开始处调用。

2024-05-17 22:51:09 876

原创 日志库-Spdlog介绍

spdlog 是一个快速的、仅头文件的、C++11日志库,它提供了易于使用的接口和丰富的日志级别控制,同时支持异步日志记录。高性能:spdlog 设计用于高性能日志记录,支持异步日志记录,可以减少日志对应用程序性能的影响。简单易用:spdlog的API设计简洁,易于集成和使用。丰富的日志级别:支持多种日志级别,如TRACE、DEBUG、INFO、WARN、ERROR、CRITICAL等。多种日志输出:支持多种日志输出方式,包括控制台、文件、系统日志等。自定义格式:可以自定义日志输出格式。

2024-05-17 20:16:19 890

原创 异步I/O库-libuv介绍

libuv是一个跨平台的支持事件驱动的异步I/O的库,使开发者可以以非阻塞的方式执行文件I/O操作、网络通信、子进程管理等。事件循环:libuv有一个基于事件循环的模型,它不断地轮询事件,并在事件发生时调用相应的回调函数。异步I/O:libuv提供了异步文件I/O和网络I/O的接口,使得开发者可以执行I/O操作而不阻塞主线程。线程池:libuv使用线程池来处理一些不能以非阻塞方式执行的I/O操作,如文件系统操作在某些操作系统上。DNS解析:libuv提供了异步DNS解析的接口。

2024-05-15 20:00:57 1042

原创 网络库-POCO介绍

POCO C++ Libraries 提供一套 C++ 的类库用以开发基于网络的可移植的应用程序,它提供了许多模块,包括网络编程、文件系统访问、线程和并发、数据库访问、XML处理、配置管理、日志记录等功能。Poco库的设计目标是易于使用、高度可定制和可扩展。Foundation:提供基本功能,如线程、时间、内存管理、流、字符串等。XML:提供XML解析和生成功能。Util:提供配置文件处理、命令行参数解析等实用功能。

2024-05-14 20:23:57 1028

原创 网络库-libcurl介绍

libcurl 是一个功能强大的库,支持多种协议,用于数据传输。它广泛应用于实现网络操作,如HTTP、HTTPS、FTP、FTPS、SCP、SFTP等。libcurl 提供了丰富的 API,可以在多种编程语言中使用。libcurl 主要特点支持多种协议:包括 HTTP, HTTPS, FTP, FTPS, SCP, SFTP,等。多平台支持:可在多种操作系统上使用,如 Windows、Linux、Mac OS X 等。线程安全:在多线程程序中使用时,保证数据的安全性。

2024-05-13 22:08:31 967

原创 网络库-libevent介绍

libevent是一个事件驱动的网络库,主要用于构建可扩展的网络服务器。它提供了跨平台的API,支持多种事件通知机制,如select、poll、epoll、kqueue等。主要组件event: 表示一个具体的事件,包括事件类型、事件回调等。event_base: 用于管理所有的事件,负责事件的添加、删除和分发。buffer: 提供缓冲区操作,用于网络数据的读写。evbuffer: 提供增强的缓冲区操作,支持链式缓冲区。

2024-05-13 20:52:23 941

原创 压缩归档库-Snappy介绍

Snappy 是一个 C++ 编写的压缩和解压缩库,由 Google 开发。它专为速度而设计,而不是最大压缩率或与其他压缩库的兼容性。Snappy 通常用于需要快速压缩和解压缩的场景。快速:压缩速度达到250 MB/秒及以上。稳定:Snappy在谷歌的生产环境中压缩和解压缩了数PB的数据。Snappy比特流格式是稳定的,不会在不同版本之间发生变化。鲁棒性:Snappy解压缩器的设计不会在面对损坏或恶意输入时崩溃。免费开源软件:Snappy是在BSD类型的许可证下获得许可的。

2024-05-09 22:02:42 753 1

原创 Zip压缩归档库-libzip介绍

libzip是一个C库,用于读取、创建和修改zip格式的压缩文件。它支持从zip文件中读取、写入、添加和删除文件,还支持密码保护的zip文件。libzip是跨平台的,可以在多种操作系统上使用,包括Linux、Windows和macOS。zip_open:用于打开一个 zip 文件。如果文件不存在,可以设置相应的标志来创建一个新的 zip 文件。zip_close:关闭一个 zip 文件,并写入所有的更改。

2024-05-09 21:17:25 1160

原创 压缩和归档库-LZ4介绍

LZ4是一种快速的压缩算法,提供压缩和解压缩的速度,而牺牲了压缩率。它被设计用于快速的数据压缩和解压缩,特别是用于数据存储和传输。LZ4通常用于需要高速数据处理的场景,如数据库、日志文件处理和实时数据传输。LZ4的特点是压缩和解压缩速度快,但压缩率不如其他一些压缩算法(如gzip或zstd)。LZ4的工作原理是基于字典的压缩,它查找数据中的重复字符串,并用较短的形式来表示这些重复的部分。这种算法非常适合于有大量重复数据的情况。

2024-05-09 19:56:56 1363

原创 压缩和归档库-miniz介绍

miniz是一个单一文件的小型压缩库,它是zlib的一个替代品,专门为需要轻量级压缩解决方案的项目设计,它被设计成可以轻松地集成到项目中,并且具有最小的依赖性。支持zlib兼容的压缩和解压缩。单个源文件实现,易于集成。小的内存占用,适合资源受限的环境。支持流式压缩和解压缩。包含用于压缩和解压缩文件的简单API。miniz通常被用作游戏、嵌入式系统、移动应用和其他需要减小依赖和体积的项目的压缩解决方案。

2024-05-08 23:09:38 1180

原创 压缩和归档库-Zlib介绍

zlib是一个广泛使用的压缩库,它提供了一系列的函数用于压缩和解压缩数据。zlib使用DEFLATE压缩算法,这是一种无损压缩算法,通常与gzip和zip文件格式一起使用。zlib库本身支持的压缩文件格式是它自己的专有格式,通常用于数据流的无损压缩。这种格式不是一种标准的文件格式,而是一种内存中的压缩数据表示,常用于网络传输、数据库和应用程序内部的数据压缩。压缩网络传输数据以减少带宽使用。压缩存储数据以减少所需的存储空间。压缩数据dest:指向用于存储压缩数据的缓冲区的指针。

2024-05-08 21:02:02 1258

原创 TinyXML-2介绍

TinyXML-2 是一个简单、小巧的 C++ XML 解析库,它是 TinyXML 的一个改进版本,专注于易用性和性能。TinyXML-2 用于读取、修改和创建 XML 文档。它不依赖于外部库,并且可以很容易地集成到项目中。DOM 风格 API:TinyXML-2 提供了 Document Object Model(DOM)风格的API,允许开发者以树形结构的方式操作 XML 数据。轻量级:TinyXML-2 的代码量小,不需要外部依赖,适合嵌入式系统和移动设备。

2024-05-07 22:09:52 527

原创 Jsoncpp介绍

Jsoncpp 是一个 C++ 库,用于解析和生成 JSON 数据。它提供了一个易于使用的 DOM(Document Object Model)风格的 API,允许开发者以树形结构的方式操作 JSON 数据。Jsoncpp 是一个C++库,允许操作JSON值,包括对字符串的序列化和反序列化。它还可以在非序列化/序列化步骤中保留现有注释,使其成为存储用户输入文件的方便格式。DOM 风格 API:Jsoncpp 提供了类似 JavaScript 的对象和数组操作方式,使得操作 JSON 数据变得直观。

2024-05-07 20:56:04 1102

原创 RapidJSON介绍

RapidJSON 是一个 C++ 的 JSON 解析库,由腾讯开源。支持 SAX 和 DOM 风格的 API,并且可以解析、生成和查询 JSON 数据。RapidJSON 快。它的性能可与strlen() 相比。可支持 SSE2/SSE4.2 加速。RapidJSON 独立。它不依赖于 BOOST 等外部库。它甚至不依赖于STL。RapidJSON 对内存友好。在大部分 32/64 位机器上,每个 JSON 值只占 16字节(除字符串外)。

2024-05-07 20:09:38 1125

原创 JSON++介绍

JSON++ 是一个轻量级的 JSON 解析库,它是 JSON(JavaScript Object Notation)的一个超集。整个代码由一个单独的头文件json.hpp组成,没有库,没有子项目,没有依赖项,没有复杂的构建系统,支持STL语法。轻量级:JSON++ 的代码量非常小,容易集成到项目中。易于使用:JSON++ 提供了简洁的 API,可以快速地解析和生成 JSON 数据。高效:JSON++ 的解析和生成速度非常快。

2024-05-07 19:27:32 377

原创 Qt QShortcut快捷键类详解

QShortcut是一个方便的工具类,用于在应用程序中创建快捷键。通过设置快捷键和关联的处理函数,可以实现快速执行某个操作的功能。// 创建一个快捷键,关联到MyWidget类的keyPressEvent()函数QKeySequence是一个字符串序列,用于表示一系列的键盘按键。通过使用QKeySequence,可以方便地生成快捷键,并将其与特定的处理函数关联起来。// 创建一个表示"Ctrl+K"的键盘序列QKeySequence是一个可选组合了Shift、Ctrl和Alt的键序列。

2024-05-06 17:41:08 879

原创 Qt QInputDialog详解

QInputDialog是一个对话框类,用于从用户那里获取一个单一的值。这个值可以是字符串、数字、或者一个列表中的选项。QInputDialog提供了一个方便的方式来快速创建一个输入对话框,无需自己从头开始构建。QInputDialog::TextInput - 允许用户输入文本。QInputDialog::IntInput - 允许用户输入整数。QInputDialog::DoubleInput - 允许用户输入浮点数。

2024-05-06 16:18:25 444

原创 Qt QImageWriter类介绍

用于写入图像文件的类。它提供了将QImage对象保存到不同图像格式文件的功能,包括但不限于 PNG、JPEG、BMP 等。可以将图像写入文件,也可以写入任何QIODevice,如QByteArray,这使得它非常灵活。格式支持: 支持多种图像格式,并且可以指定写入的图像格式。写入控制: 可以通过指定大小、质量、压缩比等选项来控制写入过程。错误处理: 提供了错误处理机制,可以捕获和处理写入过程中的错误。元数据支持: 可以设置图像的元数据,如分辨率、注释等信息。canWrite()

2024-05-03 12:13:01 751

原创 Qt QImageReader类介绍

是用于读取图像文件的类。它提供了读取不同图像格式的功能,包括但不限于 PNG、JPEG、BMP 等。可以用于文件,也可以用于任何QIODevice,如QByteArray,这使得它非常灵活。是一个专门用于从文件或设备读取图像数据的工具,提供了更多的读取控制和错误处理功能。格式支持:可以自动检测图像格式,也可以通过设置格式来指定读取特定类型的图像。读取控制: 可以通过指定大小、缩放选项和跳过图像的一部分来控制读取过程。错误处理: 提供了错误处理机制,可以捕获和处理读取过程中的错误。

2024-05-03 11:50:02 882

原创 Qt QThreadPool线程池

QThreadPool类管理一个QThread集合。QThreadPool管理和重新设计单个QThread对象,以帮助降低使用线程的程序中的线程创建成本。每个Qt应用程序都有一个全局QThreadPool对象,可以通过调用globalInstance来访问该对象。要使用其中一个QThreadPool线程,请子类化QRunnable并实现run虚拟函数。然后创建该类的一个对象,并将其传递给QThreadPool::start。线程复用:线程池中的线程可以重复使用,减少了线程创建和销毁的开销。

2024-04-29 21:40:16 847

原创 Qt QLineEdit详解

QLineEdit是一个单行文本编辑器。行编辑允许用户使用一组有用的编辑功能输入和编辑单行纯文本,包括撤消和重做、剪切和粘贴以及拖放。通过更改行编辑的echoMode,它也可以用作“只写”字段,用于密码等输入。文本的长度可以限制为maxLength,文本可以使用validator或inputMask进行任意约束,也可以同时使用这两种方法。在同一行编辑的validator和inputMask之间切换时,最好清除validator或输入mask,以防止出现未定义的行为。

2024-04-29 21:03:23 1337

原创 Qt QLCDNumber详解

它提供了一个显示数字的显示屏控件,效果类似于现实世界中的液晶显示屏。它可以显示任何大小的数字。它可以显示十进制、十六进制、八进制或二进制数字。可以用setMode更改基数,用setSmallDecimalPoint更改小数点。

2024-04-29 19:10:48 830

原创 libVLC 专栏介绍

本专栏主要界面libVLC的使用,详细介绍了相关用法,使用Qt作为显示界面,不仅可以了解Qt的使用,QSS的美化,更能够熟悉libVLC核心接口的使用,最后打造一款属于自己的精美播放器。对音视频方面感兴趣的同学,Qt界面想提升的同学,每一节都有单独的源码供查看。

2024-04-24 20:07:24 242

原创 libVLC 制作一款精美的播放器

本文将简单介绍使用libVLC制作一款精美的播放器。开发环境:Visual Studio + Qt插件。Qt版本:Qt5.9。libVLC版本:3.0.20。以下是运行界面效果图:截取其中几张。右键菜单,功能还是比较齐全。

2024-04-24 19:43:18 206

原创 VLC和libVLC简介

libVLC是VLC的一部分,是一个库,它允许开发者将VLC的媒体播放功能集成到他们自己的应用程序中,libvlc提供了丰富的API,使得开发者可以在自己的软件中轻松地实现媒体播放、流媒体处理和其他多媒体相关的功能。:VLC提供丰富的播放控制功能,包括播放、暂停、停止、快进、快退、跳转等,还可以调整播放速度、音量和视频效果。:libvlc提供了丰富的播放控制API,包括播放、暂停、停止、快进、快退、跳转等,以及音量和视频效果的调整。:VLC是开源软件,遵循GPL协议,用户可以自由地使用、修改和分发。

2024-04-24 18:03:26 279

原创 Qt QStyle详解

QStyle类是 Qt 框架中用于控制应用程序界面元素外观的一个抽象基类。这个类提供了一种方式来定制窗口部件(widgets)的绘制和行为,可以通过改变主题或风格来更改应用程序的外观,而无需修改窗口部件本身的代码。Qt包含一组QStyle子类,这些子类模仿Qt支持的不同平台的样式(QWindowsStyle、QMacStyle等)。默认情况下,这些样式内置在Qt GUI模块中。样式也可以作为插件提供。Qt的内置widget使用QStyle来执行几乎所有的绘制,确保它们看起来与等效的本地小部件完全相同。

2024-04-15 22:49:20 1804

原创 libVLC Ubuntu编译详解

有时候,windows上开发不满足项目需求,需要移植到linux上,不得不自行编译libvlc,编译libvlc相对而言稍微麻烦一点。我使用的操作系统:Ubuntu20.04查看系统命令lsb_release -alibvlc版本: 3.0.18。

2024-04-15 21:39:46 806

原创 libVLC 视频界面分割

如果还是不懂的话,我讲解一下原理,其实就是在上面叠加透明窗口界面,在叠加的窗口上面调用。主界面重写绘图和窗体移动事件:我们需要在主窗体移动的时候,叠加窗体跟随着主窗体移动。其实视频界面分割很简单,看过叠加窗口的这篇文章,不难理解,如何分割。还是像之前的文章一样,先创建一个叠加界面,设置窗体无边框和透明。先看看分割后的界面吧,根据分割的数量,来分割视频画面。paintEvent绘制线条,很简单吧。界面源码如下,ui上面没有任何控件。

2024-04-11 22:53:09 579

原创 libVLC 视频窗口上叠加透明窗口

很多时候,我们需要在界面上画一些三角形、文字等之类的东西,我们之需要重写paintEvent方法,比如像这样。这里我叠加了一个Widget在上面,widget上放了两个控件,一个label和一个comboBox。重写绘图和窗体移动事件:我们需要在主窗体移动的时候,叠加窗体跟随着主窗体移动。但是现在我们需要在播放视频的界面上绘制窗体,像下面这样。首先我们需要定义一个叠加窗体类TopWidget,这个类很简单,设置了窗体无边框和透明。以下就是重写的代码。

2024-04-11 22:12:17 970

原创 libVLC 添加字幕文件

在观看视频文件的时候,偶尔会遇到有的视频文件缺少音频、有的没有字幕的问题,libVLC提供了很好的接口来帮我们添加字幕文件。使用libvlc_video_set_subtitle_file来加载字幕文件。运行结果: 可以看见字幕文件已经被加载上。根据自己已有的电影去下载相应的字幕文件。2.创建一个媒体播放器,加载媒体文件。1.初始化 VLC 实例。4.选择字幕文件加载。

2024-04-11 21:14:22 399

原创 Qt QProcess详解

QProcess提供了在 Qt 应用程序中启动外部程序的方法。通过QProcess,你可以启动一个进程,与它通信(发送输入和读取输出),检查它的状态,以及等待它完成。这个类在执行系统命令、运行其他程序或脚本时非常有用。

2024-04-11 18:47:03 3273 3

Sherk.zip

Sherk基于C语言的关系型数据库系统实现 ( A Relational Database System Implementation Based On C Language )基于C语言的关系型数据库系统实现 ( A Relational Database System Implementation Based On C Language )基于C语言的关系型数据库系统实现 ( A Relational Database System Implementation Based On C Language )基于C语言的关系型数据库系统实现 ( A Relational Database System Implementation Based On C Language )基于C语言的关系型数据库系统实现 ( A Relational Database System Implementation Based On C Language )

2024-05-10

socket_chatroom.zip

socket_chatroom基于C语言socket网络编程完成的简单聊天室编写。基于C语言socket网络编程完成的简单聊天室编写。基于C语言socket网络编程完成的简单聊天室编写。基于C语言socket网络编程完成的简单聊天室编写。基于C语言socket网络编程完成的简单聊天室编写。

2024-05-10

WeatherClient.zip

WeatherClient用C语言写的基于控制台的一个天气客户端用C语言写的基于控制台的一个天气客户端用C语言写的基于控制台的一个天气客户端用C语言写的基于控制台的一个天气客户端用C语言写的基于控制台的一个天气客户端用C语言写的基于控制台的一个天气客户端

2024-05-10

socks5-server-c.zip

socks5-server-c SOCKS V5 server in C, based on epoll, single thread, supports TCP and UDP. C 语言实现的 SOCKS V5 代理服务器,基于 epoll,单线程,支持 TCP 和 UDP。

2024-05-10

RingBuffer.zip

RingBuffer基于C语言开发的环形缓冲区基于C语言开发的环形缓冲区基于C语言开发的环形缓冲区基于C语言开发的环形缓冲区基于C语言开发的环形缓冲区基于C语言开发的环形缓冲区

2024-05-10

OpenNNA2.0.zip

OpenNNA2.0OpenNNA2.0,一个基于C语言(C99)的开源神经网络推理框架OpenNNA2.0,一个基于C语言(C99)的开源神经网络推理框架OpenNNA2.0,一个基于C语言(C99)的开源神经网络推理框架OpenNNA2.0,一个基于C语言(C99)的开源神经网络推理框架

2024-05-10

kv-store-main.zip

kv-store-main基于C语言实现内存型数据库(kv存储)基于C语言实现内存型数据库(kv存储)基于C语言实现内存型数据库(kv存储)基于C语言实现内存型数据库(kv存储)

2024-05-10

Huffman-compress.zip

Huffman-compress基于哈夫曼编码的压缩程序,c语言实现。基于哈夫曼编码的压缩程序,c语言实现。基于哈夫曼编码的压缩程序,c语言实现。

2024-05-10

discjvm.zip

discjvm基于C语言实现的JVM DiscJVM 是一个基于jvm11规范以纯C语言编写的一个虚拟机实现,目的是为了深入理解虚拟机原理,并期望在此基础上尝试将内存映射至多机,以实现指令级的分布式执行而无需对代码作任何修改(目前内存映射这部分尚未实现)。 如果你对这个项目感兴趣,说明你应该看过或者了解过不少jvm相关的书籍或信息,但纸上谈兵总让你有隔靴搔痒的感觉,作用不大,要真正了解jvm如何实现还是得从头到尾实现一个jvm,这也是我编写discjvm的一个主要原因。 DiscJVM 不是一个完整的java虚拟机,不可以用作生产环境,目前的完成度仅限于执行一些简单的代码,大部分基础类库的本地支持尚未编写完全,主要目的还是用以理解和学习虚拟机相关技术。 DiscJVM 的基础类库使用的是java.base.jmod,而不是rt.jar,这是因为jdk11已经将rt.jar移除,javac等编译工具都应该使用官方工具,所以如果你想要体验一下discjvm你需要先装好jdk11并设置好JAVA_HOME环境变量 目前仅支持Linux平台,并且只会支持Linux,跨平台不是此项目的目的。

2024-05-10

go-cqhttp-C.zip

go-cqhttp-C这是一个基于go-cqhttp的C语言QQ机器人框架这是一个基于go-cqhttp的C语言QQ机器人框架这是一个基于go-cqhttp的C语言QQ机器人框架这是一个基于go-cqhttp的C语言QQ机器人框架这是一个基于go-cqhttp的C语言QQ机器人框架

2024-05-10

conf-c.zip

conf-c基于C语言的轻量级读取/创建配置文件的函数库基于C语言的轻量级读取/创建配置文件的函数库基于C语言的轻量级读取/创建配置文件的函数库基于C语言的轻量级读取/创建配置文件的函数库基于C语言的轻量级读取/创建配置文件的函数库基于C语言的轻量级读取/创建配置文件的函数库基于C语言的轻量级读取/创建配置文件的函数库

2024-05-10

cson.zip

基于C语言的json数据映射解析库,基于C语言的json数据映射解析库,基于C语言的json数据映射解析库,基于C语言的json数据映射解析库

2024-05-10

crc-lib-c.zip

基于C语言的CRC校验库,包括常用的21个CRC参数模型实现,基于C语言的CRC校验库,包括常用的21个CRC参数模型实现,基于C语言的CRC校验库,包括常用的21个CRC参数模型实现

2024-05-10

OrderDish.zip

OrderDish,基于命令行C语言的餐馆点餐系统,基于命令行C语言的餐馆点餐系统,基于命令行C语言的餐馆点餐系统,基于命令行C语言的餐馆点餐系统

2024-05-10

cJson.zip

基于C语言 跨平台json解析,基于C语言 跨平台json解析。

2024-05-10

epoll-sever.zip

epoll-sever,基于C语言编写的高并发Epoll服务器,epoll-sever,基于C语言编写的高并发Epoll服务器,epoll-sever,基于C语言编写的高并发Epoll服务器epoll-sever,基于C语言编写的高并发Epoll服务器

2024-05-10

ExPeriphDriver.zip

ExPeriphDriver,一个基于C语言开发的面向底层设备驱动的驱动库,ExPeriphDriver,一个基于C语言开发的面向底层设备驱动的驱动库,ExPeriphDriver,一个基于C语言开发的面向底层设备驱动的驱动库,ExPeriphDriver,一个基于C语言开发的面向底层设备驱动的驱动库

2024-05-10

Qt+ffmpeg+opengl实现一款精美的播放器,Qt+ffmpeg+opengl实现一款精美的播放器

Qt+ffmpeg+opengl实现一款精美的播放器。 Qt+ffmpeg+opengl实现一款精美的播放器。 Qt+ffmpeg+opengl实现一款精美的播放器。 Qt+ffmpeg+opengl实现一款精美的播放器。 Qt+ffmpeg+opengl实现一款精美的播放器。 完整源码,ffmpeg库 64位,使用vs+qt进行编译,不需要别的依赖库,opengl源码实现视频渲染,源码下载直接编译运行。 完整源码,ffmpeg库 64位,使用vs+qt进行编译,不需要别的依赖库,opengl源码实现视频渲染,源码下载直接编译运行。 完整源码,ffmpeg库 64位,使用vs+qt进行编译,不需要别的依赖库,opengl源码实现视频渲染,源码下载直接编译运行。

2024-04-29

vlc+Qt实现的一款精美视频播放器源码,vlc+Qt实现的一款精美视频播放器源码

支持添加字幕文件(ssa、ass); 支持播放速率调整(快放、慢放); 支持窗口全屏、播放进度条随意拖拉进度; 支持视频缩放、宽高比调整、裁剪、截图; 支持音频声道切换、设备切换; 支持声音大小的调节; 支持各种格式的视频文件播放(mp4,flv,mkv等); 支持网络串流播放(rtmp、rtsp、http等) 有丰富的QSS界面。 完整源码工程,vs+qt编译,直接下载就能编译运行,不需要依赖库。 自带64位libVLC库。

2024-04-29

VLC+Qt demoVLC+Qt demo

VLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Qt demoVLC+Q

2024-04-24

Qt侧边栏滑动Qt侧边栏滑动Qt侧边栏滑动Qt侧边栏滑动Qt侧边栏滑动Qt侧边栏滑动

Qt侧边栏滑动Qt侧边栏滑动Qt侧边栏滑动Qt侧边栏滑动Qt侧边栏滑动

2024-05-30

STM32_OmniBot_ObstacleAvoidance.zip

STM32_OmniBot_ObstacleAvoidance利用stm32f103系统板+相关硬件模块的方式搭建硬件平台,基于stm32库函数进行c语言编程,最终实现避障小车的实地运行利用stm32f103系统板+相关硬件模块的方式搭建硬件平台,基于stm32库函数进行c语言编程,最终实现避障小车的实地运行利用stm32f103系统板+相关硬件模块的方式搭建硬件平台,基于stm32库函数进行c语言编程,最终实现避障小车的实地运行

2024-05-10

RedBlackTree-master.zip

RedBlackTree-master基于 C 语言实现了红黑树(Red-Black Tree)以及用户测试程序。其中红黑树的实现基于二叉树、二叉排序树和平衡二叉树的接口。用户测试程序实现了初始化、销毁、插入、删除、查找、遍历、打印红黑树信息等功能。

2024-05-10

Streaming_media_broadcasting_system_based_on_IPv4-main.zip

Streaming_media_broadcasting_system_based_on_IPv4-main基于IPv4的流媒体广播系统Plus,在原版的基础上进行升级和bug修复等。采用C语言编写,使用高级Unix编程技术基于IPv4的流媒体广播系统Plus,在原版的基础上进行升级和bug修复等。采用C语言编写,使用高级Unix编程技术基于IPv4的流媒体广播系统Plus,在原版的基础上进行升级和bug修复等。采用C语言编写,使用高级Unix编程技术基于IPv4的流媒体广播系统Plus,在原版的基础上进行升级和bug修复等。采用C语言编写,使用高级Unix编程技术

2024-05-10

smartHome-main.zip

smartHome-main基于C语言和树莓派平台的智能家居小项目基于C语言和树莓派平台的智能家居小项目基于C语言和树莓派平台的智能家居小项目基于C语言和树莓派平台的智能家居小项目基于C语言和树莓派平台的智能家居小项目基于C语言和树莓派平台的智能家居小项目基于C语言和树莓派平台的智能家居小项目

2024-05-10

Galaxy-invasion-master.zip

Galaxy-invasion-master这是一款基于C语言的飞机大战游戏,游戏分为四大难度,同时驾驭战机的子弹也可以进行选择,有三种:蓝色魅影、黑色守望、天使光辉这是一款基于C语言的飞机大战游戏,游戏分为四大难度,同时驾驭战机的子弹也可以进行选择,有三种:蓝色魅影、黑色守望、天使光辉

2024-05-10

train-ticketorder-system-master.zip

train-ticketorder-system-master基于C语言的火车订票系统基于C语言的火车订票系统基于C语言的火车订票系统基于C语言的火车订票系统基于C语言的火车订票系统基于C语言的火车订票系统基于C语言的火车订票系统基于C语言的火车订票系统

2024-05-10

playfj-master.zip

playfj-master一个基于C++为主语言,lua为脚本语言的打飞机小游戏一个基于C++为主语言,lua为脚本语言的打飞机小游戏一个基于C++为主语言,lua为脚本语言的打飞机小游戏一个基于C++为主语言,lua为脚本语言的打飞机小游戏一个基于C++为主语言,lua为脚本语言的打飞机小游戏一个基于C++为主语言,lua为脚本语言的打飞机小游戏一个基于C++为主语言,lua为脚本语言的打飞机小游戏

2024-05-10

GreedySnake-main.zip

GreedySnake-main基于C语言实现的贪吃蛇基于C语言实现的贪吃蛇基于C语言实现的贪吃蛇基于C语言实现的贪吃蛇基于C语言实现的贪吃蛇基于C语言实现的贪吃蛇基于C语言实现的贪吃蛇基于C语言实现的贪吃蛇基于C语言实现的贪吃蛇基于C语言实现的贪吃蛇基于C语言实现的贪吃蛇

2024-05-10

epump-master.zip

epump-masterePump是一个基于I/O事件通知、非阻塞通信、多路复用、多线程等机制开发的事件驱动模型的 C 语言应用开发框架,利用该框架可以很容易地开发出高性能、大并发连接的服务器程序。ePump是一个基于I/O事件通知、非阻塞通信、多路复用、多线程等机制开发的事件驱动模型的 C 语言应用开发框架,利用该框架可以很容易地开发出高性能、大并发连接的服务器程序。

2024-05-10

C_ChineseChess-master.zip

C_ChineseChess-master基于libgraphics的C语言中国象棋基于libgraphics的C语言中国象棋基于libgraphics的C语言中国象棋基于libgraphics的C语言中国象棋基于libgraphics的C语言中国象棋基于libgraphics的C语言中国象棋基于libgraphics的C语言中国象棋基于libgraphics的C语言中国象棋

2024-05-10

2048--master.zip

2048--master基于C语言实现的2048游戏基于C语言实现的2048游戏基于C语言实现的2048游戏基于C语言实现的2048游戏基于C语言实现的2048游戏基于C语言实现的2048游戏基于C语言实现的2048游戏基于C语言实现的2048游戏基于C语言实现的2048游戏基于C语言实现的2048游戏基于C语言实现的2048游戏

2024-05-10

Dynamic_threadpool_c-main.zip

Dynamic_threadpool_c-main基于C语言编写的动态线程池。Dynamic thread pool implemented by C language.基于C语言编写的动态线程池。Dynamic thread pool implemented by C language.基于C语言编写的动态线程池。Dynamic thread pool implemented by C language.基于C语言编写的动态线程池。Dynamic thread pool implemented by C language.基于C语言编写的动态线程池。Dynamic thread pool implemented by C language.

2024-05-10

zdcclient.zip

zdcclient山寨版的神州数码802.1x认证supplicant,基于pcap库的C语言的跨平台的原生客户端。山寨版的神州数码802.1x认证supplicant,基于pcap库的C语言的跨平台的原生客户端。山寨版的神州数码802.1x认证supplicant,基于pcap库的C语言的跨平台的原生客户端。山寨版的神州数码802.1x认证supplicant,基于pcap库的C语言的跨平台的原生客户端。山寨版的神州数码802.1x认证supplicant,基于pcap库的C语言的跨平台的原生客户端。山寨版的神州数码802.1x认证supplicant,基于pcap库的C语言的跨平台的原生客户端。

2024-05-10

SMX_Test.zip

SMX_Test基于MIRACL(C语言密码库)的国密SM2签名验签以及加解密、SM3的加解密、SM4的加解密算法基于MIRACL(C语言密码库)的国密SM2签名验签以及加解密、SM3的加解密、SM4的加解密算法基于MIRACL(C语言密码库)的国密SM2签名验签以及加解密、SM3的加解密、SM4的加解密算法基于MIRACL(C语言密码库)的国密SM2签名验签以及加解密、SM3的加解密、SM4的加解密算法基于MIRACL(C语言密码库)的国密SM2签名验签以及加解密、SM3的加解密、SM4的加解密算法基于MIRACL(C语言密码库)的国密SM2签名验签以及加解密、SM3的加解密、SM4的加解密算法

2024-05-10

Tetris.zip

TetrisLinux下基于C语言开发的俄罗斯方块游戏Linux下基于C语言开发的俄罗斯方块游戏Linux下基于C语言开发的俄罗斯方块游戏Linux下基于C语言开发的俄罗斯方块游戏Linux下基于C语言开发的俄罗斯方块游戏Linux下基于C语言开发的俄罗斯方块游戏Linux下基于C语言开发的俄罗斯方块游戏Linux下基于C语言开发的俄罗斯方块游戏Linux下基于C语言开发的俄罗斯方块游戏

2024-05-10

Spider.zip

SpiderLinux平台,基于C语言的简易爬虫Linux平台,基于C语言的简易爬虫Linux平台,基于C语言的简易爬虫Linux平台,基于C语言的简易爬虫Linux平台,基于C语言的简易爬虫Linux平台,基于C语言的简易爬虫Linux平台,基于C语言的简易爬虫

2024-05-10

Study_Garbage_Collector.zip

Study_Garbage_CollectorC语言,基于mark-sweep算法实现的垃圾回收机制C语言,基于mark-sweep算法实现的垃圾回收机制C语言,基于mark-sweep算法实现的垃圾回收机制C语言,基于mark-sweep算法实现的垃圾回收机制C语言,基于mark-sweep算法实现的垃圾回收机制C语言,基于mark-sweep算法实现的垃圾回收机制

2024-05-10

http_server.zip

http_serverlinux下c语言版基于epoll+reactor模式的http文件下载服务器linux下c语言版基于epoll+reactor模式的http文件下载服务器linux下c语言版基于epoll+reactor模式的http文件下载服务器linux下c语言版基于epoll+reactor模式的http文件下载服务器linux下c语言版基于epoll+reactor模式的http文件下载服务器linux下c语言版基于epoll+reactor模式的http文件下载服务器linux下c语言版基于epoll+reactor模式的http文件下载服务器linux下c语言版基于epoll+reactor模式的http文件下载服务器

2024-05-10

Electronic-clock.zip

Electronic-clock基于51单片机的C语言电子时钟设计基于51单片机的C语言电子时钟设计基于51单片机的C语言电子时钟设计基于51单片机的C语言电子时钟设计基于51单片机的C语言电子时钟设计基于51单片机的C语言电子时钟设计

2024-05-10

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

TA关注的人

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