随笔分类 - C++
CMAKE搭建CUDA GPU开发环境
摘要:目录CUDA Toolkit安装基于CMAKE搭建第一个CUDA程序 环境:Windows11 CUDA Toolkit安装 这个工具提供了一个用于开发高性能,GPU加速的应用的开发环境。 在cmd窗口中输入nvidia-smi,查看显卡支持的最高CUDA版本以及驱动版本 Wed Dec 25 00
阅读全文
Visual Studio从入门到实践
摘要:目录vs的安装visual studio与vc++编译器各个版本对应的关系vs下常见项目的文件vs的工具设置项vs的常用项目工程设置项visual studio中的编码设置1.单字符和宽字符2.宽字符相关的数据类型3.单字符版本和宽字符版本的区分:4.工程项目编码的选择vs调试1.基本调试快捷键2.
阅读全文
协程
摘要:协程 协程:编程语言层面的概念,又叫做用户态线程,由用户进行切换,因为不用陷入内核态,所以切换效率更高。 协程的分类: 非对称式协程:协程主动挂起时,只能返回最初调用它的协程继续执行。在非对称协程中,存在着调用与被调用的关系。比如腾讯的libco 对称协程:运行的协程和挂起的协程之间没有关系。 与协
阅读全文
项目第三方库的安装
摘要:目录mongoc driver和BSON库的安装1.简介2.mongoc driver和BSON库的安装mongocxx driver的配置和安装MongoDB的安装boostprotobufrediscxxhiredislibeventopenssltinyxml2jsoncpp 环境:Ubant
阅读全文
解析命令行参数
摘要:1.几个重要的全局变量与短选项和长选项的概念: extern char *optarg; extern int optind, opterr, optopt; 全局变量解释 optarg:如果选项带参数,则参数的值保存在optarg中。如果选项带可选参数,而实际无参数时,optarg为NULL。 o
阅读全文
AutoTools、Libtool介绍
摘要:目录AutoTools1.简介2.configure.ac文件编写规则3.Makefile.am文件编写规则1.常用的变量4.案例1.示例1Libtool1.简介2.常用参数 AutoTools 1.简介 Autotools是一个代码打包和发布工具,它包含很多工具,比如说: autoconf:一个工
阅读全文
C语言的stdarg机制
摘要:目录介绍案例 介绍 在stdarg.h头文件中定义了一些用于在被调用函数中访问可变参数的宏,比如说获取指定可变参数的值、更新可变参数的值。 va_start:用于初始化可变参数列表 // ap:待初始化的变量,用于存放可变参数列表 // paramN:函数定义中最后一个有名参数名 void va_s
阅读全文
TeamTalk服务端的编译和运行
摘要:1.简介 这是蘑菇街开源的一款企业内部即时通讯软件,参考https://github.com/balloonwj/TeamTalk 2.编译 环境:gcc version 11.3.0、Ubuntu 11.3.0-1ubuntu1~22.04 1.脚本自动编译 修改build.sh脚本内容运行即可,
阅读全文
cjson jsoncpp
摘要:cjson cjson是一个用于解析json格式数据的C开源库。 jsoncpp jsoncpp是用于解析json格式数据的C++开源库。地址:https://github.com/open-source-parsers/jsoncpp/tree/update 1.环境配置 在Linux环境下,项目
阅读全文
智能指针之auto_ptr
摘要:## auto_ptr 1. auto_ptr这个智能指针在c++11中已经被遗弃,原因如下:在拷贝与赋值操作时,智能指针所管理的对象会发生拥有权转移,如果这个时候程序员去使用已经被转移拥有权的智能指针,不会发生编译错误,却在访问管理的对象时导致程序运行出错。这是一种很危险的行为。因此在c++11中
阅读全文
动态共享库/静态共享库
摘要:0.前言 在学习如何制作静态库和共享库之前,我们来了解GCC编译器的基本工作流程和GCC常用参数的使用。 1.GCC基本工作流程 现在假设有一个helloworld.c源程序,功能是只打印HelloWorld 将C源程序进行预处理(预处理一般做的工作是将宏替换和头文件展开 ):gcc -E hell
阅读全文
CMake的基本使用
摘要:目录简介安装使用CMake构建软件包CMake的基本语法1.PROJECT关键字2.SET关键字3.MESSAGE关键字4.ADD_EXECUTABLE关键字5.ADD_SUBDIRECTORY关键字6.ADD_LIBRARY关键字7.INSTALL关键字8.TARGET_LINK_LIBRARIE
阅读全文
C++基础笔记
摘要:类中的函数是可以访问类中的成员的 #include <iostream> using namespace std; class Circle//定义一个Circle 类 { public: Circle();//声明一个构造函数 void output(); static double GetD()
阅读全文
Linux下的常用函数
摘要:1.open函数 open函数: 用来打开或者创建一个文件或者设备。 1.函数原型: int open(const char *pathname, int flags); int open(const char *pathname, int flags, mode_t mode) 2.参数: pat
阅读全文
vscode远程开发环境搭建
摘要:1.配置ssh环境变量 1. 将ssh.exe所在目录E:\Github\GitInstallation\Git\usr\bin加入到path环境变量中 2. 将windows自带的openssh环境变量删除 2.安装远程开发插件 搜索Remote开头的插件,选择安装 Remote - SSH 插件
阅读全文