
linux C/C++
宇龍_
有些白嫖党连个赞都不点甚至直接抄走了说原创,新发布的都写到专栏里吧,哎。
私聊给群号,可进Q群咨询问题。
展开
-
基于handy的聊天室
handy是c++的网络库,其简单易用,容易上手。github地址:https://github.com/yedf/handyhttps://github.com/yedf/handy以下便实现了一个聊天室,任意一个人发送的数据会被转发给其他所有人,参考的是示例中的chat.cc,并做了一些修改,代码如下:#include <handy/handy.h>#include <map>using namespace std;using namespace hand原创 2021-11-09 10:57:55 · 389 阅读 · 0 评论 -
Linux读写锁
编译运行以下代码可以看到结果:1、写锁互斥2、读锁写锁互斥3、读锁共享test.cpp#include <stdio.h>#include <stdlib.h>#include <string.h>#include <pthread.h>pthread_rwlock_t rwlock;void* rd_func(void*){ pthread_rwlock_rdlock(&rwlock); prin原创 2021-08-20 10:26:44 · 259 阅读 · 0 评论 -
centos8安装glibc-static和libstdc++-static静态链接
阿里、腾讯、163等yum源都没有相关安装包给大家提供一个网站,这里可以下到各种安装包https://pkgs.org/1.1、从该网站上下载glibc-staticwget http://mirror.centos.org/centos/8/PowerTools/x86_64/os/Packages/glibc-static-2.28-151.el8.x86_64.rpm1.2、安装glibc-staticrpm -ivh glibc-static-2.28-151.el8.x原创 2021-08-10 21:10:21 · 6180 阅读 · 4 评论 -
支持多线程的数据库连接池(Linux C/C++ mysql)
前言:网上关于Linux C/C++的连接池相关项目很少,即便是有也难以满足我的需求,比如:1、无法支持阻塞形式(线程休眠等待空闲连接)获取空闲连接,2、网上流传的基于mysql++开发的连接池,还需要引入boost等三方库,稍显繁琐,不利于中小型项目的开发。基于以上原因,本人自己写了这个连接池,有问题下方留言,大家共同进步!本连接池的特点:1、支持多线程;2、从连接池获取空闲连接时支持阻塞(直到获取到空闲连接)和非阻塞(没有空闲连接直接返回)两种形式;3、托管了mysq原创 2021-08-03 20:51:49 · 1757 阅读 · 1 评论 -
如何直接将jsoncpp引入项目
网上看到有几种处理办法:1、将jsoncpp编译成lib并引入项目。2、将所有的.h和.cpp文件全部拷贝到项目进行编译。第三种当然是最优秀的3、下载jsoncpp源码解压后进入目录后使用python3运行脚本python36 amalgamate.py #这里使用python3.6执行脚本后将生成dist目录,dist目录下只有三个文件此时,拷贝这个dist目录到项目中即可...原创 2021-07-29 21:07:55 · 867 阅读 · 0 评论 -
CentOS下程序崩溃后生成coredump文件
将以下文件保存为.sh,执行脚本后即可在程序崩溃时,在其运行目录下生成coredump文件#!/bin/bash### Filename: coredumpshell.sh### Description: enable coredump and format the name of core file on centos system# enable coredump whith unlimited file-size for all usersecho -e "\n# enable co原创 2021-07-29 20:17:43 · 1281 阅读 · 0 评论 -
基于poll的echo服务器(回显服务器)
代码比较简单,是用C/C++混写的,有疑问可以下方留言#include <stdio.h>#include <stdlib.h>#include <sys/socket.h>#include <netinet/in.h>#include <string.h>#include <iostream>#include <signal.h>#include <vector>#include <原创 2021-07-25 12:57:57 · 256 阅读 · 0 评论 -
Windows下使用VSCode编写Linux C/C++代码并自动补全
前言由于习惯了在Windows下编写代码,对于本人而言,vi可能只是在临时编辑的时候才会用,代码一般是在Windows下就编写完成了的。环境搭建方法:1、在官网下载安装vscode。https://code.visualstudio.com/2、linux开启samb服务,并将项目文件映射到本地磁盘,然后使用vscode打开进行编辑。参考这篇博客:https://blog.youkuaiyun.com/Think88666/article/details/1184384653、关于代码提示的问原创 2021-07-24 21:21:20 · 2605 阅读 · 1 评论 -
解决Post跨域问题,纯后端处理,前端不做任何事!
只需要在跨域请求的后端返回的http包中添加几个http头部信息,不同语言添加http头的方法不同,参考以下代码:response.addHeader("Access-Control-Allow-Origin", "*");response.addHeader("Access-Control-Allow-Method", "*");response.addHeader("Access-Control-Allow-Headers","Content-Type");response.addHeade原创 2020-12-16 15:00:59 · 902 阅读 · 0 评论 -
linux C/C++交替打印A,B
知识点:线程、互斥锁、条件变量代码如下:#include <pthread.h>#include <stdio.h>#include <unistd.h>#include "ThreadTest.h"//互斥锁pthread_mutex_t mtx = PTHREAD_MUTEX_INITIALIZER;//条件变量pthread...原创 2020-04-08 21:51:20 · 619 阅读 · 0 评论