
C/C++
文章平均质量分 62
xiaosanxian
擅长内存管理和嵌入式软硬件协同开发。
展开
-
嵌入式C/C++编译常见问题与分析
C语言显示“warning: no newline at end of file ”具体原因,是因为在文件尾必须的新增一行空行,以避免include文件时,展开后与后面的文件连为一行,造成错误。include 指示符告诉make暂停读取当前的makefile,而转去读取include指定的一个或多个文件,完成以后在继续当前makefile的读取。可能的原因: “Makefile可能是以命令行开始:以[Tab]字符开始,但不是一个合法的命令行(例如,一个变量的赋值)。或者,找到该符号,然后删除。原创 2024-11-22 11:00:00 · 1617 阅读 · 0 评论 -
Linux内核间通信共享变量使用
编译之后生成a.ko、b.ko,先加载b.ko,在加载a.ko,可以打印t=10。若先加载a.ko,,则会报错。在kernel 开发过程中,经常会用到两个ko间变量交互,本文罗列两模块间内存变量的共享使用。原创 2024-07-13 16:02:24 · 324 阅读 · 0 评论 -
提升文件IO性能的技巧
Linux的异步I/O操作提供了一种高效的I/O处理机制,允许应用程序在不阻塞的情况下发起和处理I/O操作,使用异步 I/O 可以帮助我们构建 I/O 速度更快、效率更高的应用程序。转载 2024-07-07 19:32:35 · 111 阅读 · 0 评论 -
嵌入式应用之FIFO模块原理与实现
FIFO在嵌入式应用的非常广泛,可以说有数据收发的地方,基本就有FIFO的存在。或者为了降低CPU负担,提高数据处理效率,可以在积累到一定的数据量之后,再一次性处理。在嵌入式系统中,FIFO是基于一维数组和结构体实现的循环队列(Queue),或者叫环形队列。可以分为同步FIFO或异步FIO,一般用于数据缓冲,或者不同时钟域之间的数据传递。使用一维数组来构造一个环形缓冲区,读写地址循环递增,分别实现FIFO初始化、读写操作、判断空满、获取元素个数等函数,并封装成模块。●FIFO为空时,不能执行读操作。原创 2024-06-10 16:29:23 · 732 阅读 · 0 评论 -
.ini配置文件介绍与解析库使用
ini 文件是英文"Initialization"的缩写,即初始化文件。它用来配置特定应用软件以实现对程序初始化或进行参数设置。.ini文件由节(section)、键(key)、值(value)三种模块构成。在windows系统/嵌入式软件中有很多XXX.ini文件,例如System32.ini和Config.ini。原创 2023-06-04 18:52:39 · 3739 阅读 · 0 评论 -
算法设计与数据结构---课程设计
题目二【问题描述】这是一个古老而又经典的问题。用给定的几种钱币凑成某个钱数,一般而言有多种方式。例如:给定了6种钱币面值为2、5、10、20、50、100,用来凑 15元,可以用5个2元、1个5元,或者3个5元,或者1个5元、1个10元,等等。显然,最少需要2个钱币才能凑成15元。你的任务就是,给定若干个互不相同的钱币面值,编程计算,最少需要多少个钱币才能凑成某个给出的钱数。【要求】(代码需加注释)【数据输入】输入可以有多个测试用例。每个测试用例的第一行是待凑的钱数值M(1 <..原创 2021-03-16 14:58:56 · 2745 阅读 · 0 评论 -
pow()函数调用报错解决
在编写程序时,使用<math.h>中的 pow( )参数使用不明确,显示如下:1>miulate.cpp(106): error C2668: “pow”: 对重载函数的调用不明确原因:因为pw() 函数有三种使用重载方法,VS工具,对语法检查更为严格,double pow(double _X, int _Y)float pow(float _X, float _Y)float pow(float _X, int _Y)long double pow(long do.原创 2021-01-25 21:29:50 · 6284 阅读 · 1 评论 -
数据结构与算法分析--静态链表
静态链表: 用数组描述的链表,数组的每个下标都对应一个data和一个cur数据域data ,游标cur相当于单链表的next指针。线性表的静态链表存储结构:#define MAXSIZE 10000typedef struct{ ElemType data; int cur; }Component,StaticLinkList[MAXSIZE];...原创 2019-09-22 15:12:47 · 166 阅读 · 0 评论 -
数据结构与算法分析--单链表
头结点:单链表前面附设的一个结点头指针:从头指针开始,指向第一个结点的指针首节点:第一个包含元素的结点单链表的存储结构:typedef struct Node{ ElemType data; struct Node *next; }Node;typedef struct Node *LinkList; //定义LinkList单链表的读取实现:...原创 2019-09-21 13:51:33 · 654 阅读 · 0 评论 -
数据结构与算法分析--线性表
在读研开始,需要了解一些数据结构方面的知识,就自己努力的敲代码啊。。。在补习过程中,看了两位大神的著作:程杰的《大话数据结构》、解学武老师的网页文章。感觉很受用,再次表示感谢。直接开始线性表:线性表、单链表、双链表、循环链表、静态链表。线性表存储方式://循环集合B中的每个元素,判断当前元素是否在A中,若不存在,则插入到A中void union(List *La,List *L...原创 2019-09-21 11:53:46 · 803 阅读 · 0 评论 -
Linux下使用gcc编译时出现In function `_start':(.text+0x**) :分析与解决
使用 gcc编译是出现如下问题:In function `_start':(.text+0x****): undefined reference to `main'.... 例如:#include <stdlib.h>#include <string.h>#include <stdio.h>void test(){ ...转载 2019-06-29 12:39:23 · 24364 阅读 · 5 评论