【发布时间】:2011-04-17 14:32:35
【问题描述】:
我需要编译一些将使用 JNI 从 Java 调用的 C++ 代码,并且这些 C++ 函数必须调用一个汇编函数(使用 NASM 汇编),因此由 JNI 加载的 .dll 中的 C++ 函数只是用于大会职能。
但在代码被编译成 .dll 之前,我无法解析对 Assembly 函数的未定义外部引用,我可以将其与 NASM 生成的 .obj 文件链接。那么,如何“禁用”链接器,以便在构建 C++ 模块时不会有任何投诉?
【问题讨论】:
-
您需要构建静态/动态库或那里的任何名称。
-
您使用的是哪个 C++ 编译器,哪个版本?您是从 IDE 还是从命令行构建代码?
-
真正的问题是你不能用 C++ 代码链接你的 NASM 库,对吧?
-
安德烈,没错。我无法链接 NASM 和 C++ 代码。我正在使用 Microsoft Visual C++ 2010,并且正在从 IDE 构建 C++ 代码。
-
Dahse Frederic 的回答是正确的。以后,请更具体地提出问题,因为您提供了许多不必要的细节,使问题变得模糊。
标签: java c++ assembly java-native-interface