gpt4 book ai didi

c++ - 编译 C 代码,看不到 #define 常量

转载 作者:太空宇宙 更新时间:2023-11-04 07:41:04 25 4
gpt4 key购买 nike

我正在尝试编译一个 8hz mp3 编码器 - QT Creator 中的 C 代码。

在像这样开始的文件 l3psy.c 中

#include <stdio.h>

#include "types.h"
#include "error.h"
#include "layer3.h"
#include "l3psy.h"

#include "fft.h"
#include "tables.h"

构建步骤提示 PI 未在此处声明

for(i=0;i<BLKSIZE;i++)  window[i]  = 0.5*(1-cos(2.0*PI*(i-0.5)/BLKSIZE));

但是明明包含的types.h是这样开头的:

#ifndef TYPES_H
#define TYPES_H

#include <stdio.h>
#include <time.h>
#include "portableio.h"


#ifdef PI
#undef PI
#define PI 3.14159265358979
#endif

#define PI4 .78539816339745
#define PI64 .049087385212

因此,PI不可能不申报。

这可能是什么问题?


此外,除了那个塞子之外,我还收到关于“函数中止的隐式声明”和“函数退出的隐式声明”以及“内置函数'exit'的不兼容隐式声明”的提示,但是,它们是标准的c的函数,为什么会报错?

最佳答案

第一个问题,关于PI ,请参阅 Pascal Cuoq 的评论(仅此而已)。

对于报告的隐式声明问题,您没有包含这些函数的相关 header 。 IIRC exitabort<stdlib.h 声明.但是请检查一下。

干杯,

关于c++ - 编译 C 代码,看不到 #define 常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4013941/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com