C语言 - 从目标文件调用函数

时间:2022-11-07 16:56:34

I have a little problem while compiling an Eclipse project. I have a file that needs to call functions present in an already compiled files (.o files).

编译Eclipse项目时遇到一些问题。我有一个文件需要调用已经编译的文件(.o文件)中存在的函数。

Init.c

INIT.C

#include Init.h
void Init() {
    InitA();
    InitB();
    InitC();
    InitD();
}

Init.h

init.h里

extern void InitA();
extern void InitB();
extern void InitC();
extern void InitD();
void Init();

And the 4 functions are present in the object file motor_init.o

并且4个函数存在于目标文件motor_init.o中

I would like to know if it is possible to call these functions and how.

我想知道是否可以调用这些函数以及如何调用它们。

1 个解决方案

#1


2  

Yes, that's what .o files ar for, containing function. You have already defined the signatures, so all you'll need to do is is create init.o and link them together into your final product.

是的,这就是包含功能的.o文件。您已经定义了签名,因此您需要做的就是创建init.o并将它们链接到最终产品中。

if you're using gcc as compiler:

如果你使用gcc作为编译器:

gcc -c init.c
gcc init.o motor_init.o -o output

Sorry i don't know specifics about eclipse plugins.

对不起,我不知道有关eclipse插件的细节。

Also, if you have it, i would recommend using motor_init.h.

另外,如果你有,我建议使用motor_init.h。

#1


2  

Yes, that's what .o files ar for, containing function. You have already defined the signatures, so all you'll need to do is is create init.o and link them together into your final product.

是的,这就是包含功能的.o文件。您已经定义了签名,因此您需要做的就是创建init.o并将它们链接到最终产品中。

if you're using gcc as compiler:

如果你使用gcc作为编译器:

gcc -c init.c
gcc init.o motor_init.o -o output

Sorry i don't know specifics about eclipse plugins.

对不起,我不知道有关eclipse插件的细节。

Also, if you have it, i would recommend using motor_init.h.

另外,如果你有,我建议使用motor_init.h。