自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 IO多路复用机制看这几篇

深入了解epoll模型epoll和ICOP之间的比较

2023-10-26 09:26:41 54

原创 C++ 20新特性概括

[likely_unused]]和[[maybe_unused]]:这两个属性标记变量,用于告诉编译器该变量可能未使用或很可能未使用。它们可以帮助消除未使用变量的警告。此外,C++20还引入了一些用于模块化编程的属性,如[[module]]、[[import]]和[[export]]等,用于定义模块、导入和导出模块的功能。[[likely]]和[[unlikely]]:这两个属性用于提示编译器某个分支的执行概率较高或较低,以便进行更好的分支预测和优化。

2023-10-16 11:04:36 109

原创 C++ 笔试2(被忽略的问题)

面试精选

2023-10-13 10:05:58 52

原创 C++面试问题总结

C++11 提供了多种多线程相关的工具和语法,如 std::thread 和 std::mutex 等多线程库,以及 lambda 表达式和 std::async 等语法。例如,std::vector 和 std::list 等容器内部实际上存储的是指向元素的指针,而非元素本身,从而避免了模板参数中不同数据类型的问题。与此相对,静态链接库的应用较少。在上面的示例中,我们定义了一个名为 Reflector 的模板元类,其中包含一个 printMembers 方法,用于打印类型 T 的成员变量和对应的值。

2023-09-07 10:15:09 70

原创 量化与极速交易

6. 机器硬件和基础设施:选择高性能、可靠的服务器和存储设备,并优化硬件设置以最大程度地提高系统的吞吐量和稳定性。通过使用内存池和对象池,可以预先分配一块连续的内存或对象池,以避免频繁的内存分配和释放操作,从而提高性能。使用高效的数据处理方法,如内存数据库、压缩算法和并行计算,可以提高数据的吞吐量和处理速度。5. 交易所接入和订单路由:与多个交易所建立低延迟的直连通道,并使用高效的订单路由算法,选择最佳的交易所和执行路径。根据具体需求和场景,您可以选择适合您的应用程序的技术来实现低延迟的交易系统。

2023-09-06 14:16:54 50

原创 封装一个tcp的通讯类,需要考虑哪些因素?

类设计思想

2023-07-19 18:36:49 72

原创 类设计思想:参考C++11的智能指针,设计一个自定义的智能指针类,需要考虑哪些元素和因素?

类设计问题的思想

2023-07-19 18:28:11 55

原创 C++常用的设计模式和demo示例

c++常用的设计模式

2023-07-19 18:17:34 190

转载 C++ 关于ProtoBuf的使用记录

对 ProtoBuf 的基本概念有了一定了解之后,具体该如何使用 ProtoBuf。第一步,创建 .proto 文件,定义数据结构,如下例1所示:// 例1: 在 xxx.proto 文件中定义 Example1 messagemessage Example1 { optional string stringVal = 1; optional bytes bytesVal = 2; message EmbeddedMessage { int32 int32Va

2021-07-05 11:41:24 435

原创 struct 与char*互转

struct 与char*互转struct 与char*互转struct 与char*互转struct s_obj{int id;char name[4];};char* t = (char*) s_obj;strcpy((char )& s_obj,t);Struct与Char之间可以相互转换,但是要注意内存对齐的问题。对齐的简单办法,使用wsprintf();...

2021-04-01 15:49:49 1801

原创 关于在Linux下装载调用链接库,排查问题的一些手段和语句使用

背景:接第三方的行情接口,使用第三方的so文件和demo,并且将第三方的so进一步封装进本方的动态链接库中(假设就叫CDHmarketApi.so 随便起的,如有雷同,纯属巧合),成为本方链接库的一个行情订阅功能模块;遇到的一些问题:这个问题表明是符号未定义的问题,而且直接定位于产品链接的第三方库中,因为没有这个第三方库的源码,给排查增加了难度。错误定位:这块可以通过ldd -r命令查看生成的so是否存在符号未定义的内容。 ldd -r libCDHMarketApi.so发现果然有

2020-12-15 14:21:01 238

原创 boost 多索引容器的初涉

对于业务复杂的实时数据计算,存在联合主键,多条件查询,C++一些存储结构比如map,vector等结构不够适用,如果把数据库拿来数据存储,又太大勒。boost库里面的多索引容器是个不错的选择。自己做了个简单的例子,在这里存一下,打个tag;大佬们有什么意见也多提一提,共同进步。头文件:#include <boost/multi_index_container.hpp>#include <boost/multi_index/identity.hpp>#include <b

2020-11-27 14:10:40 284

原创 关于struct 结构体与memset的狗血教训

关于struct 结构体与memset的狗血教训在利用struct进行数据封装时,经常会使用memset(this,0,sizeof(*this))来初始化。而C++中,有时候也会用到struct,在利用memset进行初始化时,非常容易踩坑,可谓是菜鸟杀手!看段代码:struct QuoteField{ //tag==10028 报价时间 std::string SCQuoteTime; //tag==132 double bidPx_s; //tag==133 double o

2020-11-26 14:49:52 4070

原创 编译并使用quickfix做demo时的一些问题和解决<Linux C++>

1、编译Linux libquickfix.so问题描述:a.将windows下的使用编译工程上传到Linux,并按步骤编译,./boostrap报错,文件存在格式问题解决:windows下脚本文件移植Linux存在格式问题,需要dos2unix处理;b.解决a问题后发现,configure.ac文件存在...

2020-11-13 16:58:37 889 1

原创 C++11 关键字

2020-09-03 09:56:22 156

原创 运行时 并不希望我的执行程序调用LINUX系统默认的链接库

问题:我的执行程序执行时需要调用到系统的libc++.so.6.0;但是该链接库并版本不能支持我的执行程序(执行程序 编译生成的环境比当前环境的gcc版本要高)解决:将合适版本的链接库 添加当前生效的环境变量中命令:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/quant/hft_oracl…用ldd myexe命令可以看出现在libstdc++.so.6已经从系统路径中 /usr/lib64/改成了我指定的路径了...

2020-08-14 09:49:30 153

原创 boost 日期操作的算法库

以下是算法你库的包含文件,一些操作函数在这些文件中定义声明#include<boost/date_time.hpp>#include <boost/date_time/posix_time/ptime.hpp>#include <boost/date_time/gregorian/gregorian.hpp>图片摘自网络///测试时间 typedef boost::posix_time::ptime ptime; using namespace boost

2020-08-11 13:27:01 149

原创 C++ api接口实现(Windows+Linux)

#if defined(LINUX)#define API_WRAPPER_EXPORT_SPEC __attribute__((visibility("default")))#else#define API_WRAPPER_EXPORT_SPEC __declspec(dllexport)#endifextern "C" API_WRAPPER_EXPORT_SPEC CLASS_Oject* CreateApi();extern "C" API_WRAPPER_EXPORT_SPEC

2020-08-06 13:40:03 1142

原创 C++ 用SQLAPI连接非默认端口号的mysql

问题:ConnectDB(DatabaseName, UserName, Password, sa_Client)该参数没有指定数据库连接地址的端口;端口号不是3306怎么办?解决:1)sa_Client=SA_mysqlDatabaseName=xxx.xxx.xxx.xxx@quant_paperUserName=bookPassword=book连接成功2)sa_Client=SA_mysqlDatabaseName=xxx.xxx.xxx.xxx:3306@quant_pa

2020-08-06 11:31:28 208

原创 Linux下 执行程序找不到动态链接库(*.so)

问题:用cmake编译好的执行程序,运行时一直报找不到依赖的动态链接库,在配好环境变量路径之后还是报找不到?解决:配好环境变量路径之后,一定要记得执行ldconfig;不仅仅如此,只要对/user/lib文件夹或者往已经存在的环境变量中添加新lib,一定一定到一定记得刷新!执行ldconfig!...

2020-07-31 17:15:13 390

原创 实现cython打包的Linux下python环境问题

问题:python找不到动态库?解决:重新安装一下,之前安装时缺少参数–enable-shared问题:换到测试环境,打包好的执行文件在运行的时候报encodings什么的错误(反复检查过环境变量路径问题,可以排除),经过大佬火眼金睛一眼看出,可能是python开发包版本问题,个人心里在想:居然是可能是这种问题。。。试了一下解决解决:1、查看python-devel版本rpm -qa|grep python|grep devel2、删除对应的程序开发包yum remove python-dev

2020-07-14 10:43:41 611

原创 Python library not found: libpython3.6mu.so.1.0, libpython3.6m.so.1.0, libpython3.6.so.1.0

问题:Linux下安装python3.6.x之后,有个小需求gcc要调用动态链接库,find发现没有解决:

2020-07-14 10:22:42 3151

原创 使用nohup挂起python执行程序

问题:使用nohup挂起python执行程序,发现即时日志nohup.out中加载不完整解决:nohup python -u xxx.py &原因:python缓存机制,stdout默认都是指向屏幕的,stdout是有缓存的,只有遇到换行或者积累到一定的大小,才会显示出来。,导致log并不能够马上看到输出。-u参数,使得python不启用缓冲。...

2020-07-13 17:32:39 703

转载 C++ 在Linux下 编译动态链接库有关的符合表导出控制

前几天需要在Linux下编译一个动态链接库,只知道加载不到对应的so文件,后面找到一篇英文博客,感觉有思路了,写的很明白,安利一波。博客链接: 点一下我.

2020-07-13 16:30:26 120

原创 python 多进程队列使用

#----------------------------------------------------------------------#下面3个函数完整的阐述了Queue的使用"""一个进程向Queue中写入数据,另外一个进程从Queue中获取数据,通过Queue完成了 多个需要配合的进程间的数据共享,从而能够 起到 解耦的作用"""def download_from_web(q): """下载数据""" # 模拟数据源 data = [11, 22, 33, 4

2020-06-10 14:29:55 653 3

原创 VS项目中的筛选器

vs项目中的筛选器(filter)属性中的附加目录配置的绝对路径:是根据.filter*的路径决定的

2020-04-15 16:02:25 575

转载 Linux下Boost安装

Linux下Boost安装 1、下载并解压boost 1.58 源代码 下载 解压 2、运行bootstrap.sh 3、使用b2进行构建 构建成功的提示 4、安装boost库到指定目录 5、测试一下 代码 编译运行1、下载wget http://jaist.dl.source...

2019-11-22 10:36:41 895 2

原创 日志级别说明

日志级别1、DEBUG面向功能开发人员,一般在功能开发阶段使用,用来给开发人员检查功能是否正常的。此类日志只在开发阶段使用,版本不输出。2、INFO内测 版可输出此日志,用来查看新开发特性或者 bugfix 是否正常。上网版不输出。3、WARN不会对系统造成影响的非正常流程。上网版本输出。3、ERROR会对系统造成影响的非正常流程,可自我修复,不影响系统稳定性。线上版本输出...

2019-10-21 16:03:53 96

原创 小白来写Makefile

编写一个makefile前言:C++小白,突发奇想在window下用vs2017用c语言写的执行程序在linux也能用的;以下是记录,第一次记录makefile自己遇到问题。原材料:1个头文件 txtFileParser.h,2个cpp文件 main.cpp和txtFileParser.cpp。(简单说明:txtFileParser.h构造了一个类,txtFileParser.cpp自然是那个...

2019-10-18 15:44:05 156

原创 Beyond Compare4的简单使用

这里写自定义目录标题Beyond Compare4的简单使用Beyond Compare4的简单使用1、下载正版中文版Beyond Compare4(可以弹出 注册窗口的);2、输入序列号:H1bJTd2SauPv5Garuaq0Ig43uqq5NJOEw94wxdZTpU-pFB9GmyPk677gJvC1Ro6sbAvKR4pVwtxdCfuoZDb6hJ5bVQKqlfihJfSY...

2019-08-24 10:55:35 688

空空如也

空空如也

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

TA关注的人

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