C++
文章平均质量分 54
草琳情
独立自强!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
实现 与或非 运算函数,java c++二个版本
1.由于工作需求要实现一个函数,接收一个布尔表达式计算出其结果。例如:string exp ="(true | false )& false"因为c++ 与java 均是静态语言,不支持这种动态的表达式, 有些方案是把 表达式写入到一个文件里面,然后编译成可执行文件,吊起然后再返回结果, 这种效率低。想了想 其实自己也可以实现一个代码解析器然后计算出结果不久ok了吗?于是乎自己写了一个能计算 | & ! 表达式的方法, 并且支持() , 允许里面有多个空格。话不多说直接上...原创 2021-08-20 10:42:18 · 400 阅读 · 0 评论 -
mingw和MSVC 编译出来的动态库与静态库通用吗
1. 背景:我的项目是使用MinGW 编译的, 在引入第三方、或者其他人开发的静态库使用MSVC 库编译出来的,这时候编译的是就会报好多E:*******: error: undefined reference to `__imp__ZN7mysqlpp10ConnectionC1Eb'。当时用第三方库是使用使用MSVC 库编译出来 动态库的时候没有问题,2. 在网上收了一把。如下是有用的回答:都是很好用的编译工具,但是他们兼容的并不好。当你的项目使用MinGW编译的使用,想要用一个MSV.原创 2020-07-31 15:52:39 · 13954 阅读 · 4 评论 -
Linux 下c++程序一次编译到处运行
需求:项目通过一次编译出的程序要能够适配任何版本Linux发行版。通过程序的编译运行原理可以知道有几个技术问题:编译可执行程序需要依赖的本地库的版本必须低于目标机。许多地方用到了C++语言11以及更高版本的新特性,所以编译器版本必须是新的。但是一个Linux操作系统安装的默认gcc/g++依赖的是同版本的c/c++标准库。通过寻找解决方案:在高版本的Linux发行版上编译程序,然后把程序依赖的库都安装到目标机上,让程序寻找指定的库。解决方案优点:自由使用所需的Linux发行版,环境原创 2020-07-15 15:17:00 · 942 阅读 · 0 评论 -
调研跨平台C++网络库
(1)ACE庞大、复杂,适合大型项目。开源、免费,不依赖第三方库,支持跨平台。http://www.cs.wustl.edu/~schmidt/ACE.html(2)AsioAsio基于Boost开发的异步IO库,封装了Socket,简化基于socket程序的开发。开源、免费,支持跨平台。http://think-async.com/(3)POCOPOCO C++ Libraries 提供一套 C++ 的类库用以开发基于网络的可移植的应用程序,功能涉及线程、线程同..翻译 2020-05-26 09:48:41 · 2339 阅读 · 2 评论 -
__acrt_first_block == header’异常
c++:动态库接口函数返回stl对象的设计原则塈‘__acrt_first_block == header’异常版权声明:本文为博主原创文章,转载请注明源地址。 https://blog.youkuaiyun.com/10km/article/details/80522287问题描述最近在写dll动态库时,动态库函数返回的std::string对象在析构时抛出了异常:为简化描述...原创 2019-12-03 14:13:56 · 5574 阅读 · 1 评论 -
C++反射机制
在很多程序设计中,经常会遇到这样的需求,即可以通过类的名字得到对应类型的对象,尤其是一种数据需要很多策略处理的时候。比如对于网页类型的识别,一篇网页可能是视频类型、新闻类型、图片类型、网站首页、百科等很多类型中的一种,网页类型对于搜索引擎来说是非常重要的,计算rank的时候网页类型往往是一个非常重要的因子。具体实现的时候,网页类型识别的策略可以封装在类中,这样一个策略就可以设计成一个类。但是后期随着翻译 2016-04-18 18:36:02 · 539 阅读 · 0 评论 -
C++编写容器列表
最近因为工作需要自己参考一些资料和自己理解编译一个链表容器用于数据的删除、添加、插入、清空。。。。还比不上list,不吝赐教。直接上代码了直接写在头文件里面,包含该头文件即可用:typedef int INT_PTR;typedef unsigned int UINT_PTR, *PUINT_PTR;typedef long LONG_PTR, *PLON原创 2017-06-21 10:35:42 · 439 阅读 · 0 评论 -
写一个0到9等奖随机的算法
直接上代码了#include <iostream>#include <time.h>#define RAND_MAX 0x7fffusing namespace std;//抽奖结果数据结构struct DrawReslut{int gift_ID;int gift_type;int gift_count;};//抽奖随机相关内容int L_...原创 2017-10-09 10:40:21 · 1098 阅读 · 0 评论 -
Linux–CentOS定时运行Python脚本
Linux–CentOS定时运行Python脚本最近公司的项目开始进入运营阶段,数据库的记录也开始多了起来。看了postgresql的自动清理好像不太符合需求,暂定对接口请求记录表保留3个月内的记录,既然postgresql不支持那就发挥python的优势,自己写个脚本实现执行所需Linux下安装crontab符合自己需求的python脚本由于自己和公司所使用的是云服务器,均已安装cr...转载 2019-01-28 18:53:54 · 919 阅读 · 0 评论 -
C++ 11 锁
原文转载于:https://blog.youkuaiyun.com/fengbingchun/article/details/73521630C++11中新增了<mutex>,它是C++标准程序库中的一个头文件,定义了C++11标准中的一些互斥访问的类与方法等。其中std::mutex就是lock、unlock。std::lock_guard与std::mutex配合使用,把锁放到loc...转载 2019-05-15 15:09:40 · 866 阅读 · 0 评论 -
安装gcc最新版本
系统版本:CentOS 7.4 64位手动编译并安装gcc最新版本提示:需要先有c编译器,和必要的c++库,否则后面会报错,可以等报错再回头看这里。安装C编译器$ yum install gcc //目前使用yum方式只能安装最高为4.8.5版本的安装c++库$ yum inst...转载 2019-08-05 10:50:05 · 2200 阅读 · 0 评论 -
Invalidate函数
void Invalidate( BOOL bErase = TRUE );参数: bErase 决定了是否要在WM_PAINT消息前发送WM_ERASEBKGND该函数的作用是使整个窗口客户区无效。窗口的客户区无效意味着需要重绘,例如,如果一个被其它窗口遮住的窗口变成了前台窗口,那么原来被遮住的部分就是无效的,需要重绘。这时Windows会在应用程序的消息队列中放置WM_PAINT消息。...原创 2019-08-19 14:21:42 · 1032 阅读 · 0 评论 -
winds开放指定端口
有时候需要监听端口对外建立socke连接(或者UDP),有为了安全考虑不能关闭防火墙,这时候需要设置开放特定端口。具体流程如下:1)打开控制面板:2)点击系统安全:3)点击防火墙:4)点击高级设置:5)右击入站规则->新建规则->端口6) 下一步,选择通信类型,再输入端口7)下一步下一步 起个名字就OK了...原创 2019-08-23 14:43:29 · 277 阅读 · 0 评论 -
curl 64位编译静态库使用报2019链接错误问题
一、下载最新版本libcurlhttps://curl.haxx.se/libcurl/ 二、编译解压进入curl-curl-7_59_0\winbuild\下静态库,debugnmake /f Makefile.vc mode=static VC=14 DEBUG=yes MACHINE=x86静态库,releasenmake /f Makefile.vc mode=static...原创 2019-09-02 14:57:07 · 1083 阅读 · 1 评论 -
C++读写锁
今天遇到一个需要读写锁的设计, 用c++14里提供的读写锁,一下是代码// readerWriterLock.cpp#include <iostream>#include <map>#include <shared_mutex>#include <string>#include <thread>std::map<...原创 2019-09-19 14:57:11 · 1207 阅读 · 0 评论
分享