首页 > 解决方案 > 在mips上编译asm中定义的函数时如何摆脱“已使用但未定义”警告?

问题描述

使用 gcc(即mips-linux-gnu-gcc)为 mips 编译此程序:

__asm__
(
  "f_asm:\n"
  "jr $ra\n"
  "nop\n"
);

static void f(void) __asm__("f_asm");

int main(void)
{
  f();
  return 0;
}

产生此警告:

a.c:8:13: warning: 'f' used but never defined
 static void f(void) __asm__("f_asm");
             ^

我想在不使符号全局化的情况下摆脱这个警告。但是,我无法找到-Wno-使它消失的选项。有任何想法吗?

(请注意,更改f_asmf不会改善情况)。

标签: gccmipsgcc-warning

解决方案


推荐阅读