cpp
  • 2025-01-20cpp struct json相互转换
    C++结构体与JSON的相互转换在现代软件开发中,数据的序列化和反序列化是一个常见的需求。尤其在客户端和服务器之间的数据交换中,JSON因其简单、易读和良好的兼容性而被广泛使用。本文将介绍如何在C++中实现结构体和JSON之间的相互转换,重点介绍使用 nlohmann/json库。nlohmann/jso
  • 2025-01-20【一看就会】Autoware.universe的“规划”部分源码梳理【六】(behavior_path_planner第五部分)
    文章目录前言六、避障变道模块——autoware_behavior_path_avoidance_by_lane_change_module文件功能主次关系功能依赖说明核心文件-scene.cpp主要执行流程1.检查阶段2.数据更新阶段3.规划阶段辅助计算函数数据流向源码注释管理文件-manager.c
  • 2025-01-18Makefile快速入门教程
    Makefile快速入门教程本教程旨在帮助读者全面深入地掌握Makefile的编写与使用。Makefile是一种用于自动化编译和构建程序的文件,通过定义一系列规则和命令,能够高效地管理项目的编译过程,尤其在大型项目中,其优势尤为明显。本教程从基础概念入手,逐步深入到高级特性,涵盖了M
  • 2025-01-17创建一个CMake项目
    本文将演示如何使用CMake管理一个中等复杂度的项目,从创建项目到编译和运行的整个过程,涵盖了从基本配置到高级特性的实际应用。实战内容如下:创建CMakeLists.txt文件:定义项目、库、可执行文件和测试。编写源代码和测试:编写代码和测试文件。创建构建目录:保持源代码目录整
  • 2025-01-15Makefile
    什么是Makefile?Makefile是一种用来自动化管理代码编译的工具。手工编译的缺点:假设你有多个.cpp文件(如main.cpp、utils.cpp等)需要编译成一个程序,手动输入命令会很麻烦:g++-cmain.cpp-omain.og++-cutils.cpp-outils.og++main.outils.o-oprogram每次修
  • 2025-01-14【C语言】_指针面试题
    目录1.示例12.示例23.示例34.示例45.示例56.示例67.示例71.示例1#include<stdio.h>intmain(){ inta[5]={1,2,3,4,5}; int*ptr=(int*)(&a+1); printf("%d,%d",*(a+1),*(ptr-1)); return0;}运行结果如下:分析:(1)a=&a[0],a+
  • 2025-01-12pytorch算子调用过程:以rand算子为例
    通过pytorch的torch.profiler带调用栈采集运行过程可以看到如下信息,通过chrome://tracing查看,图上每个小条条表示一个traceEvent,json中的信息如下图所示,其中cat表示traceEvent的类型,有cpu_op,python_function等,前者表示torch的cpp代码中定义的操作,后者表示pytorch的python代码
  • 2025-01-10CPP-Net模型详解
    模型背景在细胞核分割领域,早期的研究主要依赖于基于形状模型和基于图割的方法。这些传统方法虽然能在一定程度上解决问题,但存在显著局限性:基于形状模型的方法需要预先定义形状模板,难以适应多样化的细胞核形态;基于图割的方法虽能较好处理重叠细胞核,但计算复杂度高,运
  • 2025-01-10cpp中的sprintf_s
    sprintf_s()用来拼接字符串并且赋值到第一个参数中。例如下面的例子将整形的n和浮点型f拼接到一个字符串中,并且给buffer赋值 #include<stdio.h> #include<string> #include<iostream> usingnamespacestd; intmain(){ charbuffer[50]; intn=10; f
  • 2025-01-10开源库:jcon-cpp
    说明jcon-cpp是一个用于C++的JSON-RPC库,它允许开发者通过JSON-RPC协议进行进程间通信(IPC)。JSON-RPC是一种轻量级的远程过程调用协议,基于JSON格式数据进行通信。基于MIT协议,最新代码基于Qt6实现。可通过Tcp和WebSocket实现RPC。调整源码以适配Qt5修改json_rpc_server
  • 2025-01-10联想嵌入式面试题及参考答案
     请阐述static在声明变量、函数、类成员时的不同之处及其作用。一、static变量全局静态变量当在全局变量前加上static关键字时,这个变量的作用域就被限制在了定义它的文件内。它的生命周期仍然是整个程序运行期间,但其他文件不能访问它。例如,在一个C++程序中有两
  • 2025-01-10cpp智能指针
      普通指针的不足new和new[]的内存需要用delete和deletel]释放。程序员的主观失误,忘了或漏了释放。程序员也不确定何时释放。普通指针的释放类内的指针,在析构函数中释放。C++内置数据类型,如何释放?new出来的类,本身如何释放?C++11新增三个智能指针类型uniqu
  • 2025-01-05cpp智能指针
      普通指针的不足new和new[]的内存需要用delete和deletel]释放。程序员的主观失误,忘了或漏了释放。程序员也不确定何时释放。普通指针的释放类内的指针,在析构函数中释放。C++内置数据类型,如何释放?new出来的类,本身如何释放?C++11新增三个智能指针类型uniqu
  • 2025-01-03PyTorch 中 reciprocal(取倒数)函数的深入解析:分析底层实现CPP代码
    PyTorch中reciprocal函数的深入解析reciprocal:美[rɪˈsɪprəkl][数]倒数;注意发音引言reciprocal是PyTorch和底层C++实现中广泛使用的数学函数,它计算输入的倒数(reciprocal)。倒数在数值计算、反向传播和优化过程中经常使用,尤其是在浮点数缩放和归一化的场景
  • 2025-01-02OCS2::legged_robot::LeggedRobotInterface.cpp
    这个文件主要是对最优问题的构造。1.setupOptimalConrolProblemvoidLeggedRobotInterface::setupOptimalConrolProblem(conststd::string&taskFile,conststd::string&urdfFile,conststd::string&referenceFile,
  • 2024-12-31C进阶-字符串与内存函数介绍(另加2道典型面试题)
    满意的话,记得一键三连哦!我们先看2道面试题第一道:我们画图理解: pa++,先使用再++,pa开始指向a【0】,++之后pa向下移动一位,再解引用,指向a【1】,a【1】又指向at的首元素a的地址,开始打印字符串at第二道:我们画个图:(初始的指向图)第一个printf:(配着图哦!)(注意上一个printf的图
  • 2024-12-30cpp的序列容器极其区别
    上一篇文章cpp的STL之vector介绍了cpp里的vector包。除了vector容器之外,cpp的序列容器还有deque和list,这里主要介绍他们的区别。deque双端队列不同于vector容器,deque支持双向存取。因此,deque容器多了push_front和pop_front两个函数,分别表示在队列的头部插入一个数据和删
  • 2024-12-29g++ 常用参数总结
    目录程序编译过程1.预处理:-E2.编译:-S3.汇编:-c4.链接g++的常用参数5.-D定义对应的宏6.-I用于编译时指定头文件的搜索路径7.-std用来指示C++语言的标准版本8.-L:链接时需要查找库文件的路径9.-l:用于链接库文件(link的首字母)程序编译过程程序的构建主要有4个阶段:预处
  • 2024-12-28cpp智能指针
      普通指针的不足new和new[]的内存需要用delete和deletel]释放。程序员的主观失误,忘了或漏了释放。程序员也不确定何时释放。普通指针的释放类内的指针,在析构函数中释放。C++内置数据类型,如何释放?new出来的类,本身如何释放?C++11新增三个智能指针类型uniqu
  • 2024-12-28Rust和C/C++相关调用总结
    一.Windows下Rust与C/C++互相调用1.C/C++调用rust1.1动态库调用1.1.1以LoadLibrary方式显示调用add.rs#[no_mangle]//防止Rust修改函数名pubextern"C"fnhello_world(){println!("HellofromRust!");}#[no_mangle]pubextern"C"fnadd(a:i32,b:i3
  • 2024-12-27cpp opencv static library
    OpenCV5+VisualStudio2022win64staticlibraryHowtouseOpencvasstaticlibrary(withoutDLL)inVC++projectsdownloaddownloadOpencV5fromhttps://github.com/opencv/opencv/tree/5.xbuildextractthefilesuseCmakeBUILDSHAREDLIBSOFFBUILDO
  • 2024-12-27GaussDB内存过载分析
    问题现象数据库进程内存占比较高长时间占比较高观察监控平台内存占用的变化曲线,无论当前数据库是否有业务在运行,数据库进程内存占总机器内存的比例长时间处于较高状态,且不下降。执行作业期间占比较高数据库进程在没有业务执行时,内存使用持续处于较低的状态,当有业务执行时,内
  • 2024-12-26cpp虚函数
    1.虚函数虚函数常用于实现类的多态。父类写了一个虚函数,但是这个函数可以根据不同的子类会有不同的功能多个子类重写这个函数,即可实现类的多样性。#include<ctype.h>#include<iostream>usingnamespacestd;classPerson{public: intage; stringname; Pe
  • 2024-12-23cpp智能指针
      普通指针的不足new和new[]的内存需要用delete和deletel]释放。程序员的主观失误,忘了或漏了释放。程序员也不确定何时释放。普通指针的释放类内的指针,在析构函数中释放。C++内置数据类型,如何释放?new出来的类,本身如何释放?C++11新增三个智能指针类型uniqu
  • 2024-12-22llama.cpp:Android端测试 MobileVLM -- Android端手机部署图生文大模型
    llama.cpp:Android端测试MobileVLM1.环境需要2.构建项目3.Android测试1.环境需要以下是经实验验证可行的环境参考,也可尝试其他版本。(1)PC:Ubuntu22.04.4(2)硬件设备:Android手机(3)软件环境:如下表所示工具版本安装Anaconda2021.05参考:Anaconda3安装及使用cmake3.26.