2011-06-02 64 views
2

我有一个单独的函数写在汇编中,并希望在我的C/C++代码中调用它。是否有可能告诉我的编译器(MS Visual C++ 2010)将使用程序集编写的模块内联到我的C/C++函数中?内联汇编写入的外部函数

请注意,我不是在谈论在我的C/C++函数中使用内联汇编代码(__asm {})。所有汇编代码都是分开编写的独立模块。

回答

3

是否有可能告诉我的编译器...将汇编成的模块内联到我的C/C++函数中?

号的编译甚至不看汇编代码 - 这是在不同的编译单元。你可以让你的链接器内联函数。为此,您需要启用链接时优化。

链接器可能有一个单独的选项来告诉它执行内联,但通常这应该在它有意义的地方自动完成。

+0

谢谢。它看起来像是/ LTCG链接器选项。 – JavaMan 2011-06-02 11:47:38

+0

@Javaman - 不,告诉链接器使用**编译器**在链接后完成编译。它不影响外部汇编程序代码。 – 2011-06-02 12:02:16

+0

我应该在编译期间使用/ GL吗?看起来像“整体程序优化”会导致编译器查看我的程序集src创建的obj文件,并执行一些跨模块内联。对? – JavaMan 2011-06-02 12:34:27