【问题标题】:How to compile a specific part of c++ code using gcc [closed]如何使用 gcc 编译 c++ 代码的特定部分 [关闭]
【发布时间】:2013-05-30 23:38:14
【问题描述】:

我可以使用 c 编译器编译一个特定的函数或一个 c++ 程序的简单语句吗?

【问题讨论】:

  • 能给个用例吗?由于 C 是 C++ 的一个子集(ish),所以无论如何使用 C++ 编译器它应该可以正常工作。
  • @slugonamission,这将破坏 malloc,至少,可能还有很多其他的东西。
  • 对不起,使用extern "C" 的例子是非常错误的。我又删了。
  • C 编译器?还是海合会?以及具体的功能或语句是什么? (它是有效的 C 吗?)
  • @Amritendu,也恭喜您提出了一个可以合法地标记为cc++ 的问题,这非常罕见。

标签: c++ c gcc g++


【解决方案1】:

您必须将函数移动到单独的编译单元(.c 文件)中,然后链接它。您不能在编译单元的中间切换编译器。

【讨论】:

    【解决方案2】:

    你可以像这样编译一个特定的函数:
    foo.cxx:

    int bar(int); /* declare bar so c++ knows it exists */
    int main(void)
        {
        return bar(41);
        }
    

    bar.c:

    int bar(int x)
        {
        return x+1;
        }
    

    构建:

    $ gcc -c bar.c
    $ g++ foo.c bar.o
    

    【讨论】:

    • 通常你会在这里有一个bar.h 文件来定义bar(),而不是声明它extern
    • @RobNapier,这是真的,但我想保持示例简短。另外,看起来 extern 标记 对于函数来说是多余的,所以我要放弃它。
    • 谢谢,我想我得到了答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-09
    • 1970-01-01
    • 2011-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多