Php – 获取用户的ip地址、操作系统、浏览器类型、入口页地址、当前访问页面地址等信息
1 获取当前访客用户画像信息 php可以获取当前访客的ip地址,所访问的页面url,入口页url,访客的操作系统、访客使用何种浏览器访问该页面,这对我们掌握用户特征,调整网站内容结构具有重要的作用。 1.1 获取用户ip地址 通过以下代码获取用户ip地址 // 获取访问者IP地址 $ip = '0.…
- PHP
- 2023-09-20
Python – ImportError urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the ‘ssl‘
今天在服务器部署一个websocket服务时,用于在有个地方用到了requests发起了一个get请求,在启动服务时出现了 ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is co…
- Python
- 2023-09-20
C++ – 跨平台在Windows、Linux系统上获取当前可执行程序路径
1 C++跨平台在Windows、Linux系统上获取当前可执行程序路径 跨平台获取当前可执行程序路径是C++跨平台项目中会经常使用的功能,我将这个功能简单的封装成了一个PathUtils工具类,在该类中通过GetCurrentProgramDirectory静态函数获取当前可执行程序路径,下面贴出…
- C++
- 2023-09-07
CMake – 链接多线程pthread库的几种方式
经常需要在项目中使用到标准库的多线程std::thread,这些项目在Linux上跨平台编译时需要链接pthread库才可以正确的编译和运行。而CMake中链接pthread又有比较多的方式,本文就简单的归纳下CMake中链接pthread的各种方式的写法。 1 第一种方式 直接在target_li…
- C++
- 2023-09-06
GCC – 常用手动链接选项-lz、-lrt、-lm、-lc、-lpthread、-lcrypt、dl链接都是什么库?
1 GCC的-l选项,手动添加链接库 GCC在编译代码时,可以使用-l手动添加链接库,比如说有以下代码main.c #include <stdio.h> #include <math.h> #define PI 3.14159265 int main () { double …
- C++
- 2023-09-06
GCC – -fpic、-fPIC、-fpie、-fPIE编译选项的作用和区别
本文主要对gcc和cmake经常使用的编译选项-fpic、-fPIC、-fpie、-fPIE的作用和区别进行总结。 1 -fpic 官方文档说明 Generate position-independent code (PIC) suitable for use in a shared library…
- C++
- 2023-09-06
CMake – 指定gcc、g++编译器
1 CMake指定gcc/g++编译器 Centos7默认的gcc和g++版本是4.8.5,这个版本对C++11的特性支持的不是很完全,所以一般都建议使用高版本的gcc和g++。 假设: 高版本的gcc的路径为:/opt/rh/devtoolset-10/root/bin/gcc 高版本的g++的路…
- C++
- 2023-09-02
C++ – GCC版本与C++标准之间的对应关系
1 GCC版本与C++标准的对应关系 C++到今年为止已经有了C++98、C++11、C++14、C++17、C++20,而C++23也于今年发布,而C++26也预计在2026年发布。目前在项目中一般是C++11作为标准,当然也有时会用到C++14和C++17的一些特性。 GCC是支持多种编程语言的…
- C++
- 2023-09-01
C++ – Windows系统使用C++切换音频默认输出设备
1 Windows系统上切换默认音频输出设备 如果电脑上插了多个音频输出设备(比如同时插了音响和耳机),在Windows系统中一般通过在声音设备页面选择输出设备,通过这种方式切换音频的默认输出设备。 也可以在高级声音选项 - 应用音量和设备首选项单独为某个软件设置音频输入设备和音频输出设备。 2 使…
- C++
- 2023-08-30
C++ – 日志库easylogging++初始化时不生成默认日志文件mylog.txt
1 easylogging++日志会默认生成日志文件mylog.txt 在使用C++日志库easylogging++的过程中,既使我们在日志配置中已经进行了日志文件路径和文件名格式的指定,但是只要通过以下类似代码初始化了easylogging++, #include "easylogging++.h…
- C++
- 2023-08-28
C++ – 单例模式
转载自:Zhongtian‘s Technical Notes,如侵联删。 单例模式是使用最广泛的设计模式之一,其目的是保证一个类仅有一个实例,并提供一个访问它的全局访问点。 1 Eager Singleton class Singleton { public: static Singleton&a…
- C++
- 2023-08-25
C++ – std::vector初始化方式总结
本文将简单总结下std::vector初始化的几种方式。 1 std::vector初始化 1.1 使用值初始化std::vector #include<iostream> #include <vector> int main() { std::vector<int&g…
- C++
- 2023-08-21