【发布时间】:2017-04-27 11:22:58
【问题描述】:
我在开发 hadoop 源代码的工作中遇到了问题。我需要在 asm 库中使用函数。给出了 API,例如:
uint32_t func(uint32_t var1,const char var2,uint64_t var3)。
如何在 C 程序中使用此函数并获取返回值?我总是得到undefined reference to "a function name(which I want to use asm api)"。
是否有一些我必须在 C 或其他内容中添加的典型声明?
对于专业的 C 程序员来说,这似乎很容易,没有什么值得提问的。但我是一名Java程序员,对ASM和C真的很陌生,希望能高效得到答案。谢谢你。
【问题讨论】:
-
API是怎么给的?是否有包含函数原型的头文件?你包括了吗?是否将 asm 库添加到项目中以便链接?
-
"API给了?"如果您有一个头文件,请确保将其包含在您的 .c 文件中,并确保您的库已添加到项目中并链接到您的项目。也许这个帖子会对你有所帮助:stackoverflow.com/questions/24991944/linking-c-with-nasm
-
您为什么操作系统和架构编程?可以给我们看看相关代码吗?
-
你使用什么编译器?什么汇编程序?您在 C 和汇编程序之间进行接口的确切方式取决于这些事情......