小编And*_*rew的帖子

警告:函数“__gmpz_out_str”的隐式声明在 C99 中无效

我刚刚在我的 Mac 上安装了 gmp 多精度算术库。每当我编译程序时,我都会收到此警告:

warning: implicit declaration of function '__gmpz_out_str' is
  invalid in C99 [-Wimplicit-function-declaration]
     mpz_out_str(stdout,10,p);
/usr/local/include/gmp.h:951:21: note: expanded from macro 'mpz_out_str'
#define mpz_out_str __gmpz_out_str
Run Code Online (Sandbox Code Playgroud)

我将得到一个可以工作的可执行文件,但是当我使用这个特定的函数时我总是得到这个。主文件如下所示:

#include <gmp.h>
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>

void fact(int n){
  int i;
  mpz_t p;

  mpz_init_set_ui(p,1); /* p = 1 */
  for (i=1; i <= n ; ++i){
    mpz_mul_ui(p,p,i); /* p = p * i */
  }
  printf ("%d!  =  ", n);
  mpz_out_str(stdout,10,p);
  mpz_clear(p);

    }

    int main(int argc, char * argv[]){
  int n; …
Run Code Online (Sandbox Code Playgroud)

c warnings compilation gmp

3
推荐指数
1
解决办法
2202
查看次数

标签 统计

c ×1

compilation ×1

gmp ×1

warnings ×1