C/C++
文章平均质量分 52
超级搬砖工
这个作者很懒,什么都没留下…
展开
-
C语言中各种接口标准
它提供了一种跨平台的方法,使得开发人员可以编写可移植的应用程序,而不需要针对每个操作系统进行特定的修改。,因为 ANSI C 是 C 语言的一种标准化版本,定义了 C 语言的语法、语义和标准库函数。POSIX(可移植操作系统接口)是一组标准化的接口规范,定义了操作系统应该提供的功能和服务。:这是一个单一的UNIX规范,定义了一个完整的UNIX操作系统接口,包括POSIX标准和其他相关标准的子集。:这是POSIX的实时扩展,它为实时应用程序提供了一组额外的API和功能,以满足实时性能要求。原创 2023-09-23 15:15:19 · 831 阅读 · 0 评论 -
可执行程序中.bss段和.data段的差异
当你在全局范围内声明一个具有初始值的变量时,它将被分配到.data段,并且在程序执行之前就会被初始化。这意味着在程序开始执行之前,.data段中的变量的值就已经确定了,并且在整个程序的生命周期内保持不变。.data段用于存储已经初始化的全局变量和静态变量,而.bss段用于存储未初始化的全局变量和静态变量。在C语言中,全局变量和静态变量通常存储在程序的数据段(.data段)或未初始化数据段(.bss段)。这意味着在程序开始执行之前,.bss段中的变量的值是未定义的,但它们会被自动初始化为适当的默认值。原创 2023-09-23 14:01:23 · 458 阅读 · 0 评论 -
关于cJSON中节点调用cJSON_AddItemToObject后释放的问题
如下操作后就不需要释放了:cJSON *pJson_params = cJSON_CreateObject();cJSON_AddNumberToObject(pJson_params, "dooropt", 0);cJSON_AddNumberToObject(pJson_params, "userNumberId", 0);cJSON_AddItemToObject(pJson,"params",pJson_params); //在这之后就只要释放pJson即可附带释放掉 pJson_par原创 2022-01-07 15:26:44 · 1803 阅读 · 0 评论 -
无符号int型整数转换成字符串格式
void main(void){ unsigned int test=(unsigned int)4294967295; unsigned char str[16] = {0}; sprintf(str,"%u",test); printf("str = %s\n",str);}原创 2022-01-07 10:45:20 · 2452 阅读 · 0 评论 -
日常碰到的计算机基础知识汇总
与十进制数28.5625相等的四进制数是:130.21计算:公式:整数部分除4取余,直到商小于1,逆序排列,得到整数部分。小数部分乘4取整,直到小数部分为0,顺序排列,得到小数部分。对于十进制转其他进制同样适用!首先整数部分:28短除4,依次得到余数0、3、1,然后倒过来就是130了。小数部分:0.5625*4 = 2.25,取出整数部分2,小数部分还有,继续乘。 0.25*4 = 1.0,取出整数部分1,小数部分没有了,不用继续了。所以最后的结果是130...原创 2021-04-19 19:18:12 · 356 阅读 · 0 评论 -
windows MFC开发下设置socket 接收发送超时(比较linux下的设置方式)
windows下设置方式:int nNetTimeout=1000;//1秒,//设置发送超时setsockopt(socket,SOL_SOCKET,SO_SNDTIMEO, (char *)&nNetTimeout,sizeof(int));//设置接收超时setsockopt(socket,SOL_SOCKET,SO_RCVTIMEO, (char *)&nNetTimeout,sizeof(int));linux下设置方式:须如下定义:struct tim原创 2020-11-11 17:23:22 · 718 阅读 · 0 评论 -
FAAD2解码AAC得到PCM数据帧采用Microsoft.DirectX.DirectSound播放时有嘟嘟声、噪音的问题
DirectX(Direct eXtension,简称DX)是由微软公司创建的多媒体编程接口,是一种应用程序接口(API)问题描述:1.PC端产测软件,通过P2P接收到设备发送过来的音频数据帧(AAC,16KHZ,16bit位宽、单通道),使用faad/faad2解码库解码后的音频帧,播放出来有频率很快的一直嘟嘟嘟的声音,听起来断断续续(不知道怎么描述)2.关于faad解码后的数据总是双通道的问题,见我上一篇博客(https://blog.csdn.net/spy_007_/article/原创 2020-11-05 14:28:34 · 937 阅读 · 3 评论 -
C语言实现两个大数相加
#include<stdio.h>#include<string.h>int main(){ char n1[10000]={'0'}; char n2[10000]={'0'}; int result[10001]={0}; //最终的结果值 int t1[10000]={0}; int t2[10000]={0}; int len; //记录...原创 2020-04-23 23:23:04 · 3284 阅读 · 1 评论 -
C代码编译_IOWR时报错:error: expected expression before 'int'
代码在使用到 类似如下宏定义:#define LSADC_IOC_MODEL_SEL _IOWR(LSADC_IOCTL_BASE, IOC_NR_LSADC_MODEL_SEL, int)在编码时遇到编译错误:看上去有点怪怪的,检查是少了头文件的原因导致的,加上就好了#include <sys/ioctl.h>...原创 2019-12-06 16:17:56 · 12058 阅读 · 0 评论 -
C语言结构体类型声明与定义分离
C语言结构体类型声明与定义分离:问题描述:假设代码A处用到一个结构体S,但S的定义依赖于A处后续的其它类型,因此S不能简单地放到A处之前定义(比较麻烦,也不是不可,用我现在说的方法就可以)解决方法:结构体的真实定义放在后边不动它,前边使用到的地方只在其之前进行类型定义即可(typedef struct SignalAnalyser SignalAnalyser;),类似函数的声明。...原创 2019-09-06 09:52:22 · 7097 阅读 · 0 评论 -
关于头文件包含的一个问题: fatal error: openssl/ssl.h: No such file or directory
今天在移植rtmpdump 库的时候遇到了一个错误:tmp.c:60:25: fatal error: openssl/ssl.h: No such file or directory查看源码:都是尖括号,但并不是说一定要系统环境(PATH)目录下安装了 openssl 库,而是makefile里边的包含路径出了问题:针对这种 “#include带路径”的情况:#inc...原创 2019-07-02 11:02:29 · 9052 阅读 · 0 评论 -
缓存区关于字节没对齐而导致系统挂掉的一个BUG
在网上移植了第三方的代码,将mp4文件切片成TS + m3u8文件,在代码调试的过程中发现一个系统会挂掉的超级大BUG描述如下:1.分配一大块内存空间,用于存储当前TS文件需要的的音视频帧数据以及描述信息,600K左右。2.在写入video数据时没没有任何问题,但是在写入audio数据的时候却一进入就挂掉。调试过程:怀疑内存是不是被意外释放了,由于这套代码写的并不是很规范,变...原创 2019-03-05 11:34:42 · 605 阅读 · 0 评论