
c++
文章平均质量分 64
HelloJinYe
生于忧患,死于安乐
展开
-
基于Socket的单人、多人在线聊天服务器
网络通信服务器版本说明v0.1:客户端将发送的消息通过服务端“转发”给所有客户端v0.2:客户端可以根据提示进行查看好友群聊、添加好友、添加群聊、创建群聊、删除好友、删除群聊、单聊、群聊等功能开发环境开发环境:Windows开发工具:Visual Studio 2015开发语言:C/C++数据库:MySQL主要功能基于服务器转发的聊天,现有功能包括:查看好友与群聊添加好友添加群聊创建群聊删除好友删除群聊单聊群聊主要原理流程服务器创原创 2022-03-11 22:01:52 · 2598 阅读 · 0 评论 -
eigen 中旋转向量、旋转矩阵、欧拉角、四元数的初始化及相互转换
一、旋转向量1.0 初始化旋转向量:旋转角为alpha,旋转轴为(x,y,z)Eigen::AngleAxisd rotation_vector(alpha,Vector3d(x,y,z))1.1 旋转向量转旋转矩阵Eigen::Matrix3d rotation_matrix;rotation_matrix=rotation_vector.matrix();Eigen::Matrix3d rotation_matrix;rotation_matrix=rotation_vector.toRota转载 2020-10-28 23:01:02 · 1441 阅读 · 0 评论 -
ros nav_msgs::Odometry获取四元数与平移,eigen类型的变量
现在我有一个const nav_msgs::Odometry::ConstPtr& laserOdometry类型的指针,我想获取它的四元数与平移,并赋值给Eigen::Quaterniond,Eigen::Vector3dEigen::Quaterniond bef_relo_r(1,0,0,0);Eigen::Vector3d bef_relo_t(0,0,0);//...bef_relo_r.w() = laserOdometry->pose.pose.orientation.w原创 2020-10-20 15:17:49 · 1272 阅读 · 0 评论 -
c++ std::thread 通过绑定引用进行传参
1.测试目标1.子线程根据传入的参数做出不同的回应2.传给子线程的参数在主线程中进行更改#include <iostream>#include <thread>using namespace std;bool flag_global = false;void fun1(bool flag){ while(1) { if(flag) { cout<<"flag: "<<fl原创 2020-09-16 17:00:43 · 2257 阅读 · 0 评论 -
ubuntu c++ std::thread线程的使用及join,pthread_create的问题
环境:ubuntu16.041.测试流程1.1子线程执行一个函数1.2主线程执行另一个函数#include <iostream>#include <thread>using namespace std;void fun1(int n){ for(int i=0;i<n;i++) { cout<<"fun1: "<<i<<endl; std::this_thread::sleep原创 2020-09-16 14:29:58 · 1541 阅读 · 0 评论 -
c++ fscanf读取文件内容 指定分隔符的格式
fscanf从txt文件中中读取点云坐标,且文件以";"为分隔符FILE *fp_txt;txtPoint_3D txtPoint;vector<txtPoint_3D> txtPoints;fp_txt = fopen(readPath.c_str(),"r");if (fp_txt == NULL){ cerr<<"open error!"<<endl;}while (fscanf(fp_txt, "%lf;%lf;%lf", &tx原创 2020-07-13 20:50:44 · 1033 阅读 · 0 评论 -
ubuntu c++ 调用 conda的python虚拟环境
1.前言之前写过一篇博客是关于c++调用系统的python环境的.ubuntu c++ 调用 python那么如果我想调用conda的环境可以吗?答案是可以的(都怪万恶的qtcreator,之后会说到)2.c++2.1cppcpp文件与之前相同#include <Python.h>int main(int argc, char *argv[]) { Py_Initialize(); //判断初始化是否成功 if(!Py_IsInitialized())原创 2020-07-06 17:07:34 · 3248 阅读 · 7 评论 -
ubuntu c++ 调用 python
环境 ubuntu16.04因为手头上的工作需要用到c++与python的交互,所以写下这个博客.1.c++1.1 test.cpp#include <Python.h>int main(int argc, char *argv[]) { Py_Initialize(); //判断初始化是否成功 if(!Py_IsInitialized()) { printf("Python init failed!\n"); retu原创 2020-07-06 11:46:57 · 2373 阅读 · 0 评论 -
eigen 构造变换矩阵(Eigen::Isometry3d或者Eigen::Matrix4d)的几种方式
Eigen::Isometry3d的赋值有两种方式1.对各个元素赋值Eigen::Isometry3d T1=Eigen::Isometry3d::Identity();T1(0,0) = 1.000000e+00, T1(0,1) = 1.197624e-11, T1(0,2) = 1.704639e-10, T1(0,3) = 3.214096e-14;T1(1,0) = 1.197625e-11, T1(1,1) = 1.197625e-11, T1(1,2) = 3.562503e-10,原创 2020-06-23 16:36:03 · 27866 阅读 · 2 评论 -
eigen YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD
在使用eigen的时候报错error:‘YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY’ is not a member of ‘Eigen::internal::static_assertion<false>’ EIGEN_CHECK_BINARY_COMPATIBILIY(Func,typename Act原创 2020-05-31 19:35:07 · 3874 阅读 · 2 评论 -
c++ 在Windows和Linux下读取文件夹下的文件的两种方法
写一个读取文件夹下所有文件的程序,可以按需求添加对文件名的要求void GetFileNames(string path,vector<string>& filenames){ DIR *pDir; struct dirent* ptr; string filename, second; if(!(pDir = opendir(path.c_str()))) return; while((ptr = readdir(pDir原创 2020-05-25 19:16:08 · 836 阅读 · 0 评论 -
c++ 创建线程遇到的问题及解决方案
在ubuntu下测试c++创建线程的时候,碰到了两个问题1.添加c++11的支持error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 ...原创 2020-04-14 16:42:27 · 595 阅读 · 0 评论 -
c++ getcwd函数 输出当前的工作空间路径
记录获取当前的工作空间路径的一种方法#include <unistd.h>#include <stdio.h>#include <stdlib.h>int main(){ //打印输出当前路径 char *buffer; //也可以将buffer作为输出参数 if((buffer = getcwd(NULL, 0)) ...原创 2020-04-11 18:42:12 · 2680 阅读 · 0 评论