如何在linux中链接和编译.c和.so文件

时间:2013-10-02 05:31:59

标签: c

我有crt284utest.c和crt_284u.so文件。在crt284utest.c文件中,我使用了dlopen(),dlclose(),dlsym()。现在我尝试使用以下命令进行编译:  gcc c -O crt284utest.c 编译上述命令时,错误如下: gcc.real:c:没有这样的文件或目录 然后 gcc crt_284u.o -ldl -o crt284utest 编译上述命令时,错误如下: gcc.real:crt_284u.o:没有这样的文件或目录

1 个答案:

答案 0 :(得分:2)

这里介绍如何使用gcc ::

在linux中编译

$ gcc -o firstprogram firstprogram.c

如果您的文件名为firstprogram.c,则输入'-o firstprogram'作为gcc的参数。这基本上是gcc创建的可执行文件的建议名称。如果您输入类似以下内容

$ gcc firstprogram.c

您将在与源C文件相同的目录中拥有a.out。这是gcc创建的可执行文件的默认名称。当您在一个目录中编译许多程序时,这会产生问题。因此,您使用-o选项后跟可执行文件的名称

来覆盖它

$ gcc -o hello secondprogram.c

将为名为secondprogram.c

的源代码创建一个名为hello的可执行文件

运行您创建的可执行文件就像在提示符下键入以下内容一样简单。

$ ./firstprogram 要么 $ ./hello