编程语言 | C/C++
介绍关于C/C++语言特性、常见问题、标准库等
沃噻
善用工具的人, 才能效率起胜。
善用思想的人,才能轨迹起胜。
时间就是金钱,效率就是生命。
展开
-
vscode (2) cmake编译
vsocde 浅谈编译原创 2022-05-24 16:41:40 · 1782 阅读 · 2 评论 -
vscode (1)直接编译
第一步创建c文件,第二步配置终端-》配置默认生成任务 选择/usr/bin/gcc第三步运行终端-》运行生成任务原创 2022-05-24 15:04:46 · 658 阅读 · 0 评论 -
为什么C++开发不需要安装STL库
如果交叉编译工具链的路径已经添加到path变量中的话,可以直接使用... -v即可查看,比如我的是arm-linux-gnueabihf-g++那么直接arm-linux-gnueabihf-g++ -v或者是--version就可以得到版本信息了,通过GNU 下的交叉工具链,通过查看 linux的交叉工具链(开发板对应的工具链)可以查看其版本是否支持c++11、c++14、c++17、c++20版本。STL库包含在交叉工具链中,也就是说程序员调用的是交叉工具链的头文件#...原创 2021-11-20 22:49:00 · 585 阅读 · 0 评论 -
STM32进入硬件错误中断(HardFault_Handle)处理方法
STM32进入HardFault_Handler处理办法HardFault_Handler出现的情况一般有两种:一种是:数组越界一种是:堆栈溢出,程序指针指飞方法一在中断HardFault_Handler中的while()处打上断点,让程序执行到此处停止。在Registers里面找到R14(LR)的值,我的这里是:0xFFFFFFF9说明一下:0xFFFFFFF9对应的是要看MSP寄存器 0xFFFFFFFD对应的是要看PSP寄存器...转载 2021-11-17 20:07:47 · 9850 阅读 · 0 评论 -
c语言字符串替换函数StrReplace(char strRes[],char from[], char to[])可直接使用
将如下函数添加到文件中,可直接调用。StrReplace(char strRes[],char from[], char to[])@strRes[] :原始字符串。@rom[]:需要替换的字符,串只替换第一次出现的位置。@to[]:需要替换成什么字符串。成功返回:1失败返回:0#include <malloc.h>#include<netinet...原创 2019-02-17 22:40:32 · 11255 阅读 · 1 评论 -
qt如何将运行结果输出到终端
Project-->Run-->Run in terminal(在你的项目打上勾)原创 2021-08-17 17:53:47 · 1526 阅读 · 1 评论 -
c++的常用库
c++的常用库C++ 资源大全关于 C++ 框架、库和资源的一些汇总列表,内容包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。标准库C++标准库,包括了STL容器,算法和函数等。 C++ Standard Library:是一系列类和函数的集合,使用核心语言编写,也是C++ISO自身标准的一部分。 Standard Template Library:标准模板库 C POSIX library : POSIX系统的C标准库原创 2021-08-11 17:44:43 · 5979 阅读 · 3 评论 -
浅谈PID
p:误差比例项 ,如果偏差为0,则比例环节不起作用,只有存在偏差时,比例环节才起作用。 【在没有i的情况下存在静差:输入调整温度10度--》|外界环境降低1度 | --输出9度》--反馈给输入:调整10度】 比例i:误差的累计 ,积分环节主要用来消除静差,所谓静差,就是系统稳定后输出值和设定值之间的差值,积分环节实际上就是 偏差累计的过程,把累计的误差加到原有系统上以抵消系统造成的静差。 【就是系数 i * 所有误差的和】 积分d:误差的差值 微分信号这是反应了偏差信...原创 2021-08-01 22:15:14 · 535 阅读 · 0 评论 -
如何学习一门编程语言
任何常用的编程语言都具备一组公共的语法特征,不同语言仅在特征的细节上有所区别。要想学习并掌握一种编程语言,理解其语法特征的实现细节是第一步。最基本的特征整型、字符型等内置类型变量,用来为对象命名表达式和语句,用于操纵上述数据类型的具体值if或while等控制结构这些结构允许我们有选择地执行一些语句或者重复地执行一些语句函数,用于定义可供随时调用的计算单元大多数编程语言通过两种方式来进一步补充其基本特征:一是赋予程序员自定义数据类型的权利,从而实现对语言的扩展;二是将一些有用的功能封装成库函数提.原创 2021-06-17 18:41:38 · 96 阅读 · 0 评论 -
C++语法与标准库有什么关系
c语言一样:就是知道基本的 数据类型(int 、char…)、判断语句(if..else)等与c一样,class:然后就是面向对象的三大特性:封装、继承、多态语法再升级也是使用上多一些技巧、优化等,比如c++11的lamda表达式、类型新增auto而已。这些就是基础,c++语法就好像是我们的汉子,但是要写出一篇好的文章,还需要成语,需要优美的诗词句子等,c++库就是我们的成语诗词。常见的c++库有boost和stl,对应嵌入式开发者来说,其库已经包含在了交叉工具链中,只要会用就可以了。...原创 2021-06-05 23:54:06 · 98 阅读 · 0 评论 -
c++版本一直在更新2011、2017、2020等,对于嵌入式开发者来说应该学哪个呢,我的硬件设备会不会不支持这么高的版本呢?如何查看设备支持哪个C++版本呢?为什么在pc机上不存在这个问题?
c++版本一直在更新,建议不要使用最新的,可以后退两三个版本,已经足够了,建议C++11,因为大版本最为经典的升级。开发语言是在不断的完善的,语言标准指定出来后,各个厂家会将标准制定到自家的产品中,将芯片升级、软件升级,这样合格的产品才会流入到开发者中,这期间会有很长的修复完善时间。当开发者拿到芯片/开发板后需要查看源码或者工具链是否支持c++对应的版本库,如果不支持就不要使用对应的库了,那为什么在pc机上想用哪个版本就用哪个版本呢?其实就是pc机使用的人多,设备强悍,更新速度快而已。如果你新买的芯片/开发原创 2021-06-05 23:53:17 · 553 阅读 · 0 评论 -
C++常用的库有哪些,标准库哪些是系统自带的,标准库有什么版本,如何确定安装了标准库,如何安装和升级标准库,如何安装卸载这些库?
当我们编写程序时候,会经过 预处理、编译器、汇编器、连接器 阶段预处理:gcc -E main.c -o main.i //引入头文件编译器:gcc -S main.c -o main.s //引入头文件的值汇编器:gcc -c main.c -o main.o //生成汇编语言连接器:gcc main.c -o main前三个阶段只对程序语法的判断,也就是说程序只要没有语法错误都会到到第三个阶段,只有在连接的时候,没有找到对应的库而报错。举个例子:...原创 2021-06-05 23:52:20 · 694 阅读 · 0 评论 -
C++11 使用lamda表达式常用在的领域,如何在stl的算法中实现
int a=55;[=] (int x, int y) -> bool {}=:在 {}中不允许修改外部变量的值a的值不允许改动&:在 {}中允许修改外部变量的值,a的值允许改动注意:先中括号[] 再小括号()//打印v向量for_each(v.begin(),v.end(),[](int data){cout<<data<<endl;}...原创 2021-06-05 23:45:14 · 103 阅读 · 0 评论