加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何在C中定义常量?

发布时间:2020-12-16 09:54:02 所属栏目:百科 来源:网络整理
导读:我通过Mingw在 Windows上编写了一个linux程序.但是,转换并不完美. 例如,在Windows上输出是这样的(我得到’zu’而不是实数): Approximated minimal memory consumption:Sequence : zuMBuffer : 1 X zuM = zuMTable : 1 X zuM = zuMMiscellaneous : zuMTotal
我通过Mingw在 Windows上编写了一个linux程序.但是,转换并不完美.
例如,在Windows上输出是这样的(我得到’zu’而不是实数):

Approximated minimal memory consumption:
Sequence        : zuM
Buffer          : 1 X zuM = zuM
Table           : 1 X zuM = zuM
Miscellaneous   : zuM
Total           : zuM

事实证明,Mingw不支持%zu,但它提供了一种解决方法.在web site他们说:

This will never work since you are using Microsoft’s implementation.
Use mingw_printf directly or define USE_MINGW_ANSI_STDIO to 1 before
including stdio.h.

所以,我在我的程序中进行了搜索,我发现cdhit-common.h是唯一一个有#include行的文件.所以,我在该行上方定义了USE_MINGW_ANSI_STDIO并进行了编译:

#include<iostream>
#include<fstream>
#include<iomanip>
#include<cstdlib>
#define USE_MINGW_ANSI_STDIO 1
#include<stdio.h>
...

它编译但程序仍然输出’zu’而不是数字.我做的不错吗?为什么没用?

注意:使用mingw时,使用USE_MINGW_ANSI_STDIO的解决方案适用于mingw64.我希望是适用于这两个平台.

解决方法

我现在设法谷歌的宏是:__USE_MINGW_ANSI_STDIO.试试吧.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读