阅读更多

1顶
0踩

开源软件

HP-Socket

    HP-Socket提供以下几类组件,详细内容请参考《HP-Socket网络通信框架开发指南》:

  • Server:基于IOCP / EPOLL通信模型,并结合缓存池、私有堆等技术实现高效内存管理,支持超大规模、高并发通信场景。
  • Agent:Agent组件实质上是Multi-Client组件,与Server组件采用相同的技术架构。一个Agent组件对象可同时建立和高效处理大规模Socket连接。
  • Client:基于Event Select / POLL通信模型,每个组件对象创建一个通信线程并管理一个Socket连接,适用于小规模客户端场景。

v5.3.1 更新

一、Linux版本更新

  1. Android NDK 支持:所有组件源码均可使用Android NDK编译,在Android平台上运行
  2. 增加 _ICONV_DISABLED 预编译宏用于关闭 iconv 库功能
  3. 增加 _ZLIB_DISABLED 预编译宏用于关闭 zlib 库功能
  4. 如果想去除 SSL 或 HTTP 组件,可以分别定义 _SSL_DISABLED 或 _HTTP_DISABLED 宏重新编

hp-socket for android

hp-socket for android

二、Windows版本更新

  1. 修复 C# SDK 关于 SSL 初始化失败 Bug
  2. 增加 _ZLIB_DISABLED 预编译宏用于关闭 zlib 库功能

三、其它更新

  1. http-parser 解析器升级到 2.8.1 版本
  2. OpenSSL 版本升级到 1.1.0h
  3. jemalloc 版本升级到 5.0.1 版本

v5.2.1 更新

一、发布包调整

  1. 版本号修订:Windows 和 Linux 发行版使用统一版本号
  2. 发布文件不再区分非 SSL DLL 和 SSL DLL,统一为 HPSocket DLL 和 HPSocket4C DLL
  3. 发布文件默认包含 SSL 和 HTTP 组件
  4. 如果想去除 SSL 或 HTTP 组件,可以分别定义 _SSL_DISABLED 或 _HTTP_DISABLED 宏重新编

新增 Linux SSL 组件

  1. Server: SSL Server, SSL Pull Server, SSL Pack Server
  2. Agent: SSL Agent, SSL Pull Agent, SSL Pack Agent
  3. Client: SSL Client, SSL Pull Client, SSL Pack Client

hp ssl

新增 Linux HTTP 组件

  1. Server: HTTP Server, HTTPS Server
  2. Agent: HTTP Agent, HTTP Agent
  3. Client: HTTP Client, HTTP Client, HTTP Sync Client, HTTPS Sync Client

hp http

新增 Linux Demo

  1. testecho-ssl: (SRC) SSL simple test echo server/agent/client
  2. testecho-ssl-pfm: (SO) SSL performance test echo server/agent/client
  3. testecho-ssl-pull: (SO) SSL pull echo server/agent/client
  4. testecho-ssl-pack: (4C SO) SSL pack echo server/agent/client
  5. testecho-http: (SRC) HTTP simple test echo server/agent/client/sync-client
  6. testecho-http-4c: (4C SO) HTTP simple test echo server/agent/client/sync-client
1
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 自己动手写一个编译器

    Pcode 是 TinyC 编译器的中间代码,是本人参考 pascal 编译器的中间代码 pcode 、并结合逆波兰表达式(后缀表达式)的逻辑后,设计出的一种非常简单的、基于栈和符号表的虚拟代码。Pcode 虚拟机是一个用来运行 Pcode 命令的、假想的机器,它包括:一个代码区(code)、一个指令指针(eip)、一个栈(stack)、一个变量表(var_table)、一个函数表(func_table)以及一个标签表(label_table)。

  • 写一个编译器非常简单(第 1 部分)

    是的,不是使用与变量名称相对应的字符串,而是使用表示该变量在内存中的位置的索引。在这篇博客中,我打算向十几岁的自己展示如何编写一个代码生成器,事实上,一点也不复杂,它可以在几个周末内完全完成。不幸的是,当正确的项在中间步骤中也在’ %rcx '中存储一些东西时,这将不起作用。然后,为了能够运行它,我们只需添加一些程序集,该程序集将接受两个参数并将它们存储在堆栈槽 0 和 1 中,并在执行代码后返回。在更完整的编译器中,前面的步骤将负责为每个声明的变量分配栈槽,并将变量名称转换为栈槽。

  • 零基础小白如何自学编译器开发?

    编译器开发是一段充满挑战但极其有价值的学习之旅。作为零基础学习者,关键是保持耐心,分解学习目标,并通过实践项目巩固知识。从简单的计算器开始,逐步构建更复杂的语言处理系统,你会在这个过程中不仅掌握编译原理,还会加深对计算机科学和编程语言本质的理解。所有伟大的编译器开发者都是从基础开始的。通过持续学习和实践,你完全可以从零基础成长为编译器开发专家。享受这个学习过程,它将为你打开计算机科学中最迷人的大门之一!例如设计一个简单的命令式语言,支持变量、函数、条件、循环等基本特性。// 示例语言语法(类似C但简化)

  • 从零开始,学习如何编写自己的编译器

    编译器、转译器和解释器是三个类似的概念。编译器是一种程序,它将整个程序的源代码转换为计算机处理器可以执行的机器代码。转译器用于将一种高级语言转换为另一种高级语言,例如将Java转换为Javascript。解释器是一种直接读取并执行源代码的程序,不会创建可执行程序。

  • 编译器(Compiler)及c/c++编译器安装(c+安装)、开发环境

    文中主要讲述了常用编程语言的编译器的特点,GCC、MinGW、MinGW-w64 、TDM-GCC、Cygwin、MSYS、MSYS2的区别,MinGW-w64编译器套件下载及安装,安装后的环境变量配置(设置),编译器的运行及其与集成开发环境的关系、编译器的来源。

  • 如何开发一个深度学习编译器

    它可以自动地将高级深度学习模型表示转化为底层的计算图和代码,以便在不同的硬件平台上进行高效的执行。但是,本文提供的示例代码可以作为一个起点,帮助你理解深度学习编译器的基本原理和实现方式。生成目标代码的过程可以通过遍历AST并根据编译器的目标平台生成相应的代码指令。深度学习编译器的输入通常是高级的深度学习模型表示,如图形计算图或中间表示(例如,ONNX或TensorFlow的图表示)。编译器的输出是底层的计算图和代码,可以由底层的运行时系统执行。它将输入的模型表示转化为抽象的代码结构,方便后续的分析和优化。

  • 前端必备开发编译器详解

    前端开发编译器有很多,例如:WebStorm、VS Code、HBuilder X、Sublime Text等等。在这里就不一一介绍了,这里主要讲解VS Code和HBuilder X 编译器。介绍VS Code和HBuilder X的下载安装、常用快捷键、实用插件推荐等

  • 自己动手开发编译器(一)编译器的模块化工程

    原文地址为:自己动手开发编译器(一)编译器的模块化工程 本系列的第一篇,我想概述一下编译器的构造,同时帮助大家了解编译器中各个组成部分的用途。想必大家看别的编译原理书籍,大都在第一章或者序言之类的地方,将编译器分成许多模块,然后每一个模块负责编译的特定阶段,最后串起来组成完整的编译器。比如下面这张图就是虎书(Modern Compiler by Andrew W. Appel)第一章中出现的编译器阶段示意图: 那么,为什么要将编译器拆成一个个阶段,一个个模块呢?答案是,为了更加容易设计和理解。..

  • 如何构建一个简单的编译器

    但通过理解和实践这个简单的编译器,您可以对编译器的基本原理有一个初步的了解,并在此基础上深入学习和开发更复杂的编译器。语法分析的目标是根据词法分析阶段生成的标记序列,构建一个抽象语法树(Abstract Syntax Tree,AST)。遇到左括号时,我们创建一个新的列表作为当前节点的子节点,并将当前节点移动到新的子节点上;在软件开发领域中,编译器是一种重要的工具,用于将高级语言的代码转换为机器语言,以便计算机能够理解和执行。代码会遍历源代码的每个字符,根据字符的类型进行判断,并将标记存储在一个列表中。

  • 开发一个编译器

    1、目的:开发一个编译器 1、编译器简介: 编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。 一个现代编译器的主要工作流程:源代码(source code) →预处理器(preprocessor) →编译器(compiler) →目标代码(object code) →链接器(Linker) → 可执行程序(executables) ...

  • 编译器开发语言选择:Rust 还是 OCaml

    【CSDN 编者按】这篇文章详细比较了 Rust 和 OCaml 在编译器开发中的优势和劣势。作者通过对两种语言的特性、性能、生态系统等方面的深入分析,为读者提供了一个全面的视角来理解这两种语言在编译器开发中的应用。原文链接:https://hirrolot.github.io/posts/compiler-development-rust-or-ocaml.html未经允许,禁止转载!作者 | ...

  • 【Linux系统学习】系统编程开发工具编译器gcc/g++使用

    Linux系统编程开发工具编译器gcc/g++篇!!!超详解!!!入门必看

  • c语言编译器是怎样开发的,如何编写属于自己的 C 语言编译器

    本文为编写 C 语言编译器系列文章的第一篇,为此我先说明一下我要如此做的一些理由:1. 通过编写过程,你会对抽象语法树(AST)以及程序如何表示和操作其他程序有清晰地了解,并可以熟练地使用 linters、静态分析器与各种各样的元编程。2. 你将对汇编,调用约定,以及所有相关的技术细节有个系统了解。3. 由于这是很困难的项目,所以整个过程我都在探索,有不对的地方请大家多指正。在过去的几个星期里,我...

  • 主流编译器及国产编译器,优缺点综合调研

    编译器是软件开发中不可或缺的工具,它扮演着将高级编程语言代码转换为计算机硬件能够理解和执行的机器代码的角色。这一转换过程不仅包括语法分析、语义分析、代码优化,还包括最终的代码生成。编译器的核心功能是确保代码的正确性,同时通过各种优化技术提高程序的运行效率。此外,它还能检测代码中的错误,提供反馈帮助开发者进行调试。编译器的性能直接影响到软件开发的速度和最终程序的执行效率。编译器作为软件开发的核心工具,其发展和创新对整个行业都有着深远的影响。

  • GCC编译器简明教程(Linux下C语言开发环境的搭建)

    市面上常见的 Linux 都是发行版本,典型的 Linux 发行版包含了 Linux 内核、桌面环境(例如 GNOME、KDE、Unity 等)和各种常用的必备工具(例如 Shell、GCC、VIM、Firefox 等),国内使用较多的是 CentOS、Ubuntu(乌班图)、Debian、Redhat 等。 Linux 主要应用于各种服务器(例如网站服务器、数据库服务器、DNS服务器、邮件服务器...

  • 编译器原理与源码实例讲解:22. 编译器的应用领域与案例分析

    1.背景介绍 编译器是计算机科学的一个重要领域,它涉及到编程语言的设计、实现和优化。编译器的主要目标是将高级语言的程序代码转换为计算机可以直接执行的低级语言代码,即机器代码。这个过程称为编译。 在过去的几十年里,编译器技术发展迅速,它们已经成为了许多现代软件系统的核心组件。例如,Java、C++、Python等编程语言的编译器已经广泛应用于各种领域,如操作系统、数据库、网络应用、游戏等。 在...

  • 编译器原理与源码实例讲解:编译器的可扩展性设计

    1.背景介绍 编译器是计算机科学领域的一个重要组成部分,它负责将高级语言的代码转换为计算机可以理解的低级语言代码,即机器代码。编译器的设计和实现是一项复杂的任务,需要涉及到语法分析、语义分析、代码优化等多个方面。本文将从编译器的可扩展性设计的角度进行探讨。 1.1 编译器的可扩展性设计的重要性 在现实生活中,编译器是软件开发过程中的一个重要环节,不同的编程语言需要对应的编译器来进行代码编译。...

  • 35家名企嵌入式/软件秋招岗位等你来!

    大家好,我是写代码的篮球球痴。前两天一个小伙伴在微信让我帮忙推荐嵌入式招聘岗位。我实话实说,是有认识的人让我推荐简历的,但是相对于专业的招聘网站,我手里能拿出来的岗位实在是少之又少,专业的招聘网站会对不同的岗位分类,他们会收集很多岗位让应聘者去挑选,这是他们专业的事情。昨天,我看到一个不错的设计,我随手发给了我一个朋友,他给我回复「你也可以做呀」,我想了想回复说「我还是做我专业的事情吧」。我们在工...

  • C语言学习第一步——编译器和集成开发环境的了解与选择

    编译器及集成开发环境的介绍与优缺点分析

Global site tag (gtag.js) - Google Analytics