C语言编程学习
文章平均质量分 83
pegasusliuyong
这个作者很懒,什么都没留下…
展开
-
高频使用的滤波算法
高频使用的滤波算法转载 2022-08-30 15:46:41 · 1793 阅读 · 0 评论 -
CMake 入门实战
CMake 入门实战转载 2022-07-16 15:28:12 · 145 阅读 · 0 评论 -
CRC16
CRC选择当数据帧长度在8bits-128bits范围内时,推荐CRC-8(CRC-8能够减少额外比特的开销,且有更好的性能表现)当数据帧长度在128bits-2048bits范围内时,推荐CRC-12,CRC-16,CRC-CCITT(CRC-12额外比特的开销更小,且用于6bit字符流的传输;对于16bits的标准,更推荐美国标准CRC-16,性能略优于CRC-CCITT);当因数据帧长度更长、信道不稳定等情况而需要更高的性能时,CRC-32、CRC-32C将是更好的选择;CRC简介CR原创 2021-08-02 17:17:01 · 2992 阅读 · 0 评论 -
C/C++混合编程中“#ifdef __cplusplus与extern “C“ { #endif” 的理解
在工作中,C、C++密不可分,做我们嵌入式方面的,当然更多的是C,但,有时候却少不了C++,而且是C、C++混搭(混合编程)在一起的,比如,RTP视频传输,live555多媒体播放等都是C++下的,他需要调用JRTPLIB库,所以,很多时候,C++还是蛮不错的。。。。但,*.c与*.cpp文件混搭在一起,不是那么的简单。 #ifdef __cplusplus //c++编译环境中才会定义__cplusplus(plus就是"+"的意思),如果是c++程序,肯定会有__cplusplu...转载 2021-02-19 17:47:45 · 547 阅读 · 0 评论 -
基于ceedling的软件单元测试(windows)
依赖工具的安装安装rubyhttps://rubyinstaller.org/downloads/ 安装msys2 到网站http://www.msys2.org/下载适合自己主机的安装包,点击安装,在msys2安装完成后使用其内置的pacman包管理器,安装gcc, make,将C:\msys64\usr\bin添加到环境变量中。pacman -S gccpacman -S make安装gcovrpip install gcovr安装测试工具gem install c.转载 2021-02-06 17:13:19 · 547 阅读 · 0 评论 -
如何使用CMake生成makefile
1、安装了CMake工具2、编写CMakeLists.txt文件子目录:include、src、build(因为生成的文件很多,所以新建一个build文件夹)例子(放在build文件夹里):#1.cmake verson,指定cmake版本cmake_minimum_required(VERSION 3.2)# CMakeLists.txt使用C++11标准add_definitions(-std=c++11)#2.project name,指定项目的名称,一般和项目的文件夹名原创 2021-02-05 20:49:20 · 1812 阅读 · 0 评论 -
Unity C 语言单元测试的构建工具 Ceedling 使用详解
1. 安装 Ceedling展开目录安装 Ceedling 之前,首先需要下载安装Ruby(版本号大于 1.8.6) 和TDM-GCC,安装完成后,即可安装 Ceedling ,打开系统命令行,输入 gem install ceedling 等待直至出现 Successfully installed ceedling-0.28.2 Parsing documentation for ceedling-0.28.2 Done insta...转载 2021-02-05 15:16:28 · 874 阅读 · 0 评论 -
Windows 下搭建 MSYS2+CMake+VSCode+gdb 编译调试环境
windows 下部署 vscode 的 c++ 调试环境给raspberrylive项目写的,可能有多余步骤安装msys2官网下载安装包中国大陆地区去清华镜像下载安装包和配置软件源:MSYS2 镜像使用帮助环境变量根据自己的安装路径修改MSYS_DIR=C:\msys64MINGW64_DIR=C:\msys64\mingw64Path添加: %MSYS_DIR%\usr\bin;%MINGW64_DIR%\binLogCOPY源改成国内的参考h..转载 2021-02-05 09:50:17 · 1637 阅读 · 0 评论 -
C语言字节对齐问题详解
转载原文连接:https://www.cnblogs.com/clover-toeic/p/3853132.htmlC语言字节对齐问题详解 引言 考虑下面的结构体定义:1 typedef struct{2 char c1;3 short s; 4 char c2; 5 int i;6 }T_FOO; 假设这个结构体的成员在内存中是紧凑排列的,且c1的起始地址是0,则s的地址就是1,c2的地址是3,i的地址是4。...转载 2020-11-10 18:16:51 · 629 阅读 · 0 评论 -
Doxygen代码注释文档产生工具使用
1.Doxygen简介Doxygen是一个程序的文档产生工具,可以将程序中的注释转换成说明文档或者说是API参考手册,从而减少程序员整理文档的时间。当然这里程序中的注释需要遵循一定的规则书写,才能让Doxygen识别和转化。目前Doxygen可处理的程序语言包含C/C++、Java、Objective-C、IDL等,可产生出来的文档格式有HTML、XML、LaTeX、RTF等,此外还可衍生...转载 2020-04-28 14:03:22 · 525 阅读 · 0 评论 -
使用Ceedling进行单元测试(嵌入式)C应用程序
使用Ceedling进行单元测试(嵌入式)C应用程序https://dmitryfrank.com/articles/unit_testing_embedded_c_applications就像许多其他嵌入式软件工程师一样,我过去常常将嵌入式应用程序交付生产,而没有对其进行适当的测试。仅进行了一些手动测试。我给人的印象是没有真正的方法可以对其进行测试:您知道,嵌入式应用程序在自定义硬件中...原创 2020-03-24 20:01:55 · 1609 阅读 · 0 评论 -
C语言运算优先级记忆口诀
口诀:括号成员排第一; //括号运算符[]() 成员运算符. ->全体单目排第二; //所有的单目运算符比如++、 --、 +(正)、 -(负) 、指针运算*、&、逻辑非!、按位取反~、sizeof后有乘除余加减; //包括 /、*、%、+、-移位五,关系六; //移位运算符:<< &...原创 2019-12-04 13:08:54 · 344 阅读 · 0 评论 -
深入理解C指针
深入理解C指针<一>指针和内存 C程序在编译后,会以三种形式使用内存: 静态、全局内存:静态变量和全局变量使用这部分内存,生存周期为整个程序运行时,全局变量所有函数都可以访问,但静态变量虽然生存周期为整个程序运行时,但作用域和局部变量是一样的,只限于定义它的函数内部,全局变量和静态变量会执行默认初始化。 自动内存,也就是所说的栈上,局部变量,在函数内部声明,并且只有函数...转载 2019-09-24 15:27:56 · 135 阅读 · 0 评论 -
C语言之 const 和 volatile
在 C 语言中,我们经常会见到const和volatile这两个关键字,那么我们今天就来介绍下这两个关键字。先来介绍const关键字。提起const关键字,我们可能首先想到的是经过它修饰的变量便是常量了。其实我们这种想法是错误的,其实const修饰的变量是只读的,其本质还是变量。它修饰的局部变量是在栈上分配空间的,它修饰的全局变量在全局数据区分配空间(...转载 2021-01-12 14:43:14 · 1386 阅读 · 0 评论