Magic-C++ 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
Magic-C++ 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
Magic-C++ 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
Magic-C++ 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
Magic-C++ 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 LGPL
开发语言 C/C++ 查看源码 »
操作系统 Windows
软件类型 开源软件
所属分类 Web应用开发Web框架
开源组织
地区 国产
提 交 者 INotfound
适用人群 未知
收录时间 2021-01-19

软件简介

Use Standard C++ 11 && CMake.

基于IoC的快速开发库(C++ Rapid development library based on Inversion of Control),配合CMake构建套件开发,支持跨平台开发,并配备了更多的高性能组件.

特点

快速开发

  • 高内聚,低耦合.
  • 超强的通用性以及高度跨平台.
  • 实现模块化开发方式便于协作开发.
  • 基于 IoC (Inversion of Control)的方式对每个类进行托管以及自动注入构建.

模块配置

  • 功能模块可高度重用,方便扩展以及维护.
  • 使用Json格式配置文件(*.magic)对功能进行模块划分.

非侵入式

  • 高度解耦
  • 代码移植度高.
  • 无任何侵入式代码.

Go to 安装/使用方法

本库特性

组件: 类Log4j日志线程NetWork网路、Http协议Web服务数据库高性能网络连接池高性能数据库连接池高性能TimingWheel定时轮 等等

Config配置组件的使用用方法.

    /// 支持自定义扩展.
    /// 目前只支持基础类型和std::string.
    /// 未修改生成的配置文件的情况下,会使用at函数的第二个参数作为默认值.
    uint64_t number = config->at<uint64_t>("number", 24);

Log日志组件的使用方法.

    /// 类 Log4j 日志库.
    /// 五种日志打印级别.
    /// 可通过配置中LogLevel调整日志输出等级.
    MAGIC_INFO() << "hello world";
    MAGIC_WARN() << "hello world";
    MAGIC_DEBUG() << "hello world";
    MAGIC_ERROR() << "hello world";
    MAGIC_FATAL() << "hello world";

.....

其他

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (0)

加载中
更多评论
暂无内容
发表了博客
2020/04/05 12:25

C++之STL

STL简介 STL是Standard Template Library的简称,中文名标准模板库,惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。从根本上说,STL是一些“容器”的集合,这些“容器”有list,vector,set,map等,STL也是算法和其他一些组件的集合。这里的“容器”和算法的集合指的是世界上很多聪明人很多年的杰作。STL的目的是标准化组件,这样就不用重新开发,可以使...

0
0
发表了博客
2019/04/19 09:14

C++ mfc

以下是我从其他网站中学的内容,后有相应的网站学习链接地址,可供学习 1.选择菜单项File->New->Project,弹出“New Project”对话框。 2.左侧面板中Installed Templated的Visual C++下选择MFC,中间窗口中选择MFC Application,然后在下面的Name编辑框中键入工程名称,本例取名“Addition”,在Location编辑框中设置工程的保存路径。点“OK”。 3.点“Next”到“Application Type”对话框,在Application type下选择Dialog ba...

0
0
发表了博客
2019/08/11 23:27

C++的.cpp文件

.hpp,其实质就是将.cpp的实现代码混入.h头文件当中,定义与实现都包含在同一文件,则该类的调用者只需要include该hpp文件即可,无需再将cpp加入到project中进行编译。而实现代码将直接编译到调用者的obj文件中,不再生成单独的obj,采用hpp将大幅度减少调用 project中的cpp文件数与编译次数,也不用再发布烦人的lib与dll,因此非常适合用来编写公用的开源库。 关于.hpp文件的说明有以下几点: hpp是Header Plus Plus的简写。 ...

0
0
发表了博客
2019/02/26 13:07

C++ STL详解

C++ STL详解 转载自:http://www.cnblogs.com/shiyangxt/archive/2008/09/11/1289493.html 一、STL简介 STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来 的。现在虽说它主要出现在C++中,但在被引入C++之前该技术就已经存在了很长的一段时间。 STL的代码从广义上讲分为三类:algorithm(算法)、container(...

0
1
发表了博客
2014/07/14 15:47

c++ STL之 Map

map是键-值对的集合 template < class Key, class T, class Compare = less<Key>,                 class Allocator = allocator<pair<const Key,T> > > class map; key:关键值的类型。在map对象中的每个元素是通过该关键值唯一确定元素的。 T:映射值的类型。在map中的每个元素是用来储存一些数据作为其映射值。 Compare 就是构建红黑树时用到的比较方法,判断节点存储位置,默认less(小于)...

0
1
发表了博客
2020/01/10 16:17

CPP(c++) 原子操作

C++中对共享数据的存取在并发条件下可能会引起data race的undifined行为,需要限制并发程序以某种特定的顺序执行, 有两种方式:使用mutex保护共享数据,原子操作:针对原子类型操作要不一步完成,要么不做,不可能出现操作一半被切换CPU, 这样防止由于多线程指令交叉执行带来的可能错误。非原子操作下,某个线程可能看见的是一个其它线程操作未完成的数据。 std::atomic:例子 class Test { public: Test() = defaul...

0
0
发表了博客
2018/07/29 20:32

C++ STL map

之前写过一篇关于map容器的一篇博客,但是只有一些基础操作,后来我在CSDN上看到了一位大佬写的博客于是转载过来了。 作者大大的博客https://blog.csdn.net/sunshinewave/article/details/8067862 ————————————————————————————————————————————————————————————————————————————————— map是STL的一个关联容器,它提供一对一(其中第一个可以...

0
0
发表了博客
2019/03/16 15:25

c++ 面试题(C/C++/STL)

1,智能指针:auto_ptr(c++11 已经弃用),unique_ptr(用于取代 auto_ptr), shared_ptr, weak_ptr   http://www.cnblogs.com/TenosDoIt/p/3456704.html(值得一看)   https://blog.csdn.net/zhourong0511/article/details/80315961(优缺点分析) 1 // classTest.cpp : 定义控制台应用程序的入口点。 2 // 3 4 #include "stdafx.h" 5 #include <iostream> 6 #include <string> 7 #include <memory> 8 9 usi...

0
9
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
2 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部